一、Filebeat是什么
轻量型日志采集器
无论您是从安全设备、云、容器、主机还是 OT 进行数据收集,Filebeat 都将为您提供一种轻量型方法,用于转发和汇总日志与文件,让简单的事情不再繁杂。
Filebeat 随附可观测性和安全数据源模块,这些模块简化了常见格式的日志的收集、解析和可视化过程,只需一条命令即可。之所以能实现这一点,是因为它将自动默认路径(因操作系统而异)与 Elasticsearch 采集节点管道的定义和 Kibana 仪表板组合在一起。不仅如此,Filebeat 的一些模块还随附了预配置的 Machine Learning 作业。
Filebeat工作的流程图如下:
二、Filebeat 下载&安装
2.1 下载&安装
Filebeat下载地址:https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.17.4-linux-x86_64.tar.gz
下载后,解压tar -zxvf filebeat-7.17.4-linux-x86_64.tar.gz
[root@nb002 tools]# ls
elasticsearch-7.17.4-x86_64.rpm logstash-7.17.4-linux-x86_64.tar.gz
filebeat-7.17.4-linux-x86_64.tar.gz kibana-7.17.4-linux-x86_64.tar.gz
[root@nb002 tools]# tar -zxvf filebeat-7.17.4-linux-x86_64.tar.gz
filebeat-7.17.4-linux-x86_64/filebeat.reference.yml
filebeat-7.17.4-linux-x86_64/filebeat.yml
filebeat-7.17.4-linux-x86_64/LICENSE.txt
filebeat-7.17.4-linux-x86_64/.build_hash.txt
filebeat-7.17.4-linux-x86_64/module/
filebeat-7.17.4-linux-x86_64/module/activemq/
filebeat-7.17.4-linux-x86_64/module/activemq/audit/
filebeat-7.17.4-linux-x86_64/module/activemq/audit/config/
……………省略一堆balabala…………………
filebeat-7.17.4-linux-x86_64/kibana/7/visualization/number-of-kafka-stracktraces-by-class-ecs.json
filebeat-7.17.4-linux-x86_64/filebeat
filebeat-7.17.4-linux-x86_64/NOTICE.txt
filebeat-7.17.4-linux-x86_64/fields.yml
解压后,目录如下:
[root@nb002 filebeat-7.17.4]# ll
总用量 136408
-rw-r--r-- 1 root root 3780088 5月 19 00:46 fields.yml
-rwxr-xr-x 1 root root 133695232 5月 19 00:51 filebeat
-rw-r--r-- 1 root root 170451 5月 19 00:46 filebeat.reference.yml
-rw------- 1 root root 8348 5月 19 00:46 filebeat.yml
drwxr-xr-x 3 root root 15 5月 19 00:46 kibana
-rw-r--r-- 1 root root 13675 5月 18 23:28 LICENSE.txt
drwxr-xr-x 76 root root 4096 5月 19 00:46 module
drwxr-xr-x 2 root root 4096 5月 19 00:46 modules.d
-rw-r--r-- 1 root root 1987715 5月 18 23:28 NOTICE.txt
-rw-r--r-- 1 root root 814 5月 19 00:51 README.md
2.2 service方式启动
vim /usr/lib/systemd/system/filebeat.service :也就是在/usr/lib/systemd/system/下新建filebeat.service输入以下内容:
注意ExecStart的路径哈。
[Unit]
Description=Filebeat sends log files to Logstash or directly to Elasticsearch
Wants=network-online.target
After=network-online.target
[Service]
ExecStart=/data/filebeat-7.17.4/filebeat -c /data/filebeat-7.17.4/filebeat.yml
Restart=always
[Install]
WantedBy=multi-user.target
启动方式为:
systemctl daemon-reload
systemctl start filebeat
三、Filebeat 实时读取一个日志文件,输出到屏幕
3.1 修改filebeat的配置文件filebeat.yml
filebeat.inputs:
- type: filestream
id: nginx-access-log
enabled: true
paths:
# 表示去/tmp下读取所有.log文件
- /tmp/*.log
filebeat.config.modules:
path: ${path.config}/modules.d/*.yml
reload.enabled: false
setup.template.settings:
index.number_of_shards: 1
# output to console
output