1. ELKB
摘抄 Beats 入门教程 (一)
在集中式日志记录中,数据管道包括三个主要阶段:聚合,处理和存储。 在 ELK 堆栈中,传统上,前两个阶段是堆栈工作量 Logstash 的职责。执行这些任务需要付出一定的代价。 由于与 Logstash 的设计有关的内在问题,性能问题变得经常发生,尤其是在复杂的管道需要大量处理的情况下。将 Logstash 的部分职责外包的想法也应运而生,尤其是将数据提取任务转移到其他工具上。 正如我在本文中所描述的,这个想法首先在 Lumberjack 中体现出来,然后在 Logstash 转发器中体现出来。 最终,在随后的几个开发周期中,引入了新的改进协议,该协议成为现在所谓的 “Beats” 家族的骨干。
1.1 开放5044端口
firewall-cmd --query-port=5044/tcp firewall-cmd --zone=public --add-port=5044/tcp --permanent firewall-cmd --reload
讯享网
1.2 修改 logstash.yml
讯享网cd /usr/local/src/logstash-8.5.0/config vi logstash.yml i
133 === 修改任何主机都可以连接
api.http.host: 0.0.0.0
1.3 修改 logstash.conf
讯享网cd /usr/local/src/logstash-8.5.0/ vi logstash.conf i
input内容
input { beats { port => 5044 } }
讯享网Esc :wq
1.4 安装Beats,以Filebeat为例(新开一个窗口)
cd /usr/local/src/ curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-8.5.0-linux-x86_64.tar.gz tar xzvf filebeat-8.5.0-linux-x86_64.tar.gz rm -rf filebeat-8.5.0-linux-x86_64.tar.gz cd filebeat-8.5.0-linux-x86_64/ filebeat test output
默认的配置文件是当前目录下的 filebeat.yml ,默认输出到Elasticsearch

讯享网
1.4.1 修改 filebeat.yml
讯享网vi filebeat.yml :set nu i
22 === 不修改,目前支持的类型,参考官网 input-types
25 === id也是唯一的
id: first-info
28 === 自动加载配置
讯享网enabled: true
32 === 文件位置,可以配置多个,再多粘贴几行即可
- /platform/first/first-info*.log
53 === 放开注释
54 === 放开注释,修改级别为info
讯享网level: info
55 === 添加自定义的字段到根位置,并筛选,具体缩进格式参见下面的error
fields_under_root: true
这样info配置就完成了,继续在56行后把error配置好,注意缩进格式
讯享网- type: filestream id: first-error enabled: true paths: - /platform/first/first-error*.log fields: level: error fields_under_root: true

记录 : 一开始并未发现fields的fields_under_root,但是对fields有思考,假如我的字段和elasticsearch的key重复了,他会怎么办?所以就去官网看了一下 : 如果自己定义的key和已有关键字重名,已自定义的为准(官网写的是覆盖)。这才发现fields_under_root字段,可以让自定义的字段提到root级别,还可以分类。所以如果只是定义了fields,并不加fields_under_root: true,level就无法分类,info和error都分不出来,看个毛日志
149 === 注释掉,不向elasticsearch输出(想直接输入到elasticsearch直接看 2. EBK)
151 === 主机也注释掉

162 === 放开注释,向logstash输出
164 === 放开注释,向端口5044输出

1.4.2 再次测试
filebeat test config filebeat test output

1.5 启动filebeat
讯享网cd /usr/local/src/ chown -R esuser:esuser filebeat-8.5.0-linux-x86_64/ su esuser cd filebeat-8.5.0-linux-x86_64/ filebeat -e -c /usr/local/src/filebeat-8.5.0-linux-x86_64/filebeat.yml
1.6 准备向first服务下的info和error中追加日志
echo "2022-10-02 00:00:00 [main] INFO AAAAA2-filebeat" >> first-info.1.log echo "2022-10-02 00:00:00 [main] INFO BBBBB2-filebeat" >> first-info.1.log echo "2022-10-02 23:59:59 [timeoutChecker_2_1] ERROR KKKKK2" >> first-error.1.log echo "2022-10-02 23:59:59 [timeoutChecker_2_1] ERROR OOOOO2" >> first-error.1.log

如果过滤level,就可以分开info和error

2. EKB
如果只是收集日志,不需要filter,Beats算是很轻量级的了
2.1 点击左侧导航栏,点击集成,可以看到elk的很多集成

2.2 搜索 logstash,可以看到推荐的集成是 Filebeat 和 Metrics

2.3 点击 Filebeat 集成,可以看到 Filebeat 推荐直接输出到 elasticsearch和kibana


2.4 kill掉 logstash 和 filebeat
讯享网ps -ef | grep 'logstash' ps -ef | grep 'filebeat'
2.5 修改 filebeat.yml,输出到 elasticsearch
cd /usr/local/src/filebeat-8.5.0-linux-x86_64 su esuser vi filebeat.yml :set nu i
124 === 放开注释 (可以不修改内容,也可以写具体IP)
125 === 添加用户名
讯享网username: "elastic"
126 === 添加密码
password: "SCWfp0xcHkV2KubsE6jt"

151 === 放开注释,输出到elasticsearch
153 === 主机也放开注释 (可以不修改内容,也可以写具体IP)
讯享网hosts: ["192.168.109.160:9200"]
154 === 添加index(后面加上的,如果不添加index,默认是filebeat-%{agent.version}) 参考
index: "platform_%{+YYYY-MM-dd}"
157 === 放开注释,用https
161 === 放开注释,用户名,同上
162 === 放开注释,密码,同上
163 == 添加权限认证,注意缩进
讯享网ssl.ca_trusted_fingerprint: "ebb5ae42f107dddca657be0e8c4868ff733ff961f6f58d3380d"
值可以通过该命令获取,记得把:去掉,随便写个main函数replace下
openssl x509 -fingerprint -sha256 -in /usr/local/src/elasticsearch-8.5.0/config/certs/http_ca.crt

165 === 添加模板name
讯享网setup.template.name: "filebeat-elastic"
166 === 添加模板pattern
setup.template.pattern: "filebeat_*"
169 === 注释掉,不再向logstash输出
171 === 主机也注释掉
讯享网Esc :wq
2.6 测试
filebeat test config filebeat test output

如果 第一次启动时没有配置name和pattern 或 更换索引后只配置了新索引,没配置name和pattern 都会有此错误
讯享网Exiting: setup.template.name and setup.template.pattern have to be set if index name is modified Error initializing beat: setup.template.name and setup.template.pattern have to be set if index name is modified

2.7 启动
filebeat -e -c /usr/local/src/filebeat-8.5.0-linux-x86_64/filebeat.yml
2.8 去kibana中创建视图查看日志



当然,也可以过滤 level 字段, 想要看info还是error
2.9 追加日志测试
讯享网echo "2022-10-03 00:00:00 [main] INFO BBBBB2-filebeat直接到elastic" >> first-info.1.log echo "2022-10-03 23:59:59 [timeoutChecker_2_1] ERROR KKKKK2-直接到elastic" >> first-error.1.log

3. 个人感想
3.1 总体下来,一开始启动elasticsearch粘贴出来的文本是很重要的,几乎后面所有的操作都需要以此支撑,官网给到的打印真是可以

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/30735.html