一、综述
Filebeat是什么?
通俗的理解,就是采集指定数据日志,然后上报到Logstash或Elasticsearch,最后通过kibana可视化
注意:filebeat是读取文件,会记录读取到某一行,简单重启filebeat不会造成日志重复。如果是docker话,使用docker-compose down会导致日志重复
一般使用部署架构,如下
二、filebeat安装和使用
第一步:下载安装包
https://www.elastic.co/cn/downloads/beats/filebeat
第二步 :安装部署
[root@hadoop01 elk]# ls
filebeat-6.2.2-linux-x86_64.tar.gz
[root@hadoop01 elk]# tar -zxvf filebeat-6.2.2-linux-x86_64.tar.gz
[root@hadoop01 elk]# ls
filebeat-6.2.2-linux-x86_64 filebeat-6.2.2-linux-x86_64.tar.gz
参考原文链接:https://blog.csdn.net/qq_34646817/article/details/81177157
第三步 配置filebeat
配置文件:filebeat.yml
1. 定义日志文件路径
对于最基本的Filebeat配置,你可以使用单个路径。例如:
filebeat.inputs:
- type: log
enabled: true
paths:
- /var/log/*.log
在这个例子中,获取在/var/log/.log路径下的所有文件作为输入,这就意味着Filebeat将获取/var/log目录下所有以.log结尾的文件。
也可以使用以下模式:/var/log//*.log。这将抓取/var/log的子文件夹下所有的以.log结尾的文件.。
2. 如果你发送输出目录到Elasticsearch数据库
(并且不使用Logstash),那么设置写Elasticsearch的IP地址和端口,代码如下:
> output.elasticsearch:
hosts: ["127.0.0.1:9200"]
3.配置Filebeat以使用Logstash
如果你想使用Logstash对Filebeat收集的数据执行额外的处理,那么你需要将Filebeat配置为使用Logstash。
output.logstash:
hosts: ["127.0.0.1:5044"]
相比于向 elasticsearch 输出数据,个人更推荐向 logstash 输出数据。 因为 logstash 和 filebeat
一起工作时,如果 logstash 忙于处理数据,会通知 FileBeat 放慢读取速度。一旦拥塞得到解决,FileBeat
将恢复到原来的速度并继续传播。这样,可以减少管道超负荷的情况。