FileBeat 相比 Logstash,更加轻量化。
在任何环境下,应用程序都有停机的可能性。 Filebeat 读取并转发日志行,如果中断,则会记住所有事件恢复联机状态时所在位置。
Filebeat带有内部模块(auditd,Apache,Nginx,System和MySQL),可通过一个指定命令来简化通用日志格式的收集,解析和可视化。
FileBeat 不会让你的管道超负荷。FileBeat 如果是向 Logstash 传输数据,当 Logstash 忙于处理数据,会通知 FileBeat 放慢读取速度。一旦拥塞得到解决,FileBeat 将恢复到原来的速度并继续传播。
Filebeat 官方文档
Filebeat 官网下载地址
Filebeat 多版本下载
一、部署Filebeat
准备工作:
Filebeat日志转换json格式
确认日志json格式,后续会用日志做统计
先访问web服务器,以产生一定的日志,然后确认是json格式,因为下面会使用到
yum -y install httpd-tools #安装ab -V 查看版本
ab -n100 -c100 http://192.168.56.11 #-n访问100次 -c 并发100
查看web日志
安装配置Filebeat
如果您之前就没用logstach,可以直接安装即可。
systemctl stop logstash #停止logstash服务(如果有安装)
wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-6.3.2-x86_64.rpm
yum install filebeat-6.3.2-x86_64.rpm -y
二、配置filebeat收集系统日志
#备份源配置文件
[root@qiuyuetao ~]# cd /etc/filebeat/
[root@qiuyuetao filebeat]# cp filebeat.yml{,.bak}
#filebeat收集多个系统日志并输出到本地文件:
[root@qiuyuetao filebeat]# grep -v "#" /etc/filebeat/filebeat.yml | grep -v "^$"
filebeat.inputs:
- type: log
paths:
- /var/log/messages
fileds: #这2行主要是解决logstach根据类型方便筛选
service: system
exclude_lines: ["^DBG","^$"] #排查一些不获取
filebeat.config.modules:
path: ${path.config}/modules.d/*.yml
reload.enabled: false
setup.template.settings:
index.number_of_shards: 3
setup.kibana:
output.file: #文件输出
path: "/tmp" #输出目录及文件
filename: "dgstack.txt"
启动filebeat服务并验证本地文件是否有数据
ELK6.0已取消filebeat配置document_type
后面可以将filebeat收集的日志传输到logsearch进行分类过滤,或者写入redis进行缓存,解决由于logsearch宕机造成的数据丢失,请根据您业务的情况,进行调整即可。
[root@qiuyuetao ~]# vim /usr/local/filebeat/filebeat.yml
filebeat.prospectors:
- input_type: log
multiline:
pattern: '^\['
negate: true
match: after
paths:
- /root/.gosuv/log/fuqinfinance-client-api/output.log
output.logstash:
hosts: ["172.17.92.43:5044"]
enabled: true
compression_level: 3
更多精彩:Elkstack体系
- QQ精品交流群
-
- 微信公众号
-