本文使用的Filebeat是7.7.0的版本,文章将从如下几个方面说明:
Filebeat是什么,可以用来干嘛Filebeat的原理是怎样的,怎么构成的Filebeat应该怎么玩Filebeat是什么Filebeat和Beats的关系首先Filebeat是Beats中的一员。Beats在是一个轻量级日志采集器,其实Beats家族有6个成员,早期的ELK架构中使用Logstash收集、解析日志,但是Logstash对内存、CPU、io等资源消耗比较高。相比Logstash,Beats所占系统的CPU和内存几乎可以忽略不计。目前Beats包含六种工具:Packetbeat:网络数据(收集网络流量数据)Metricbeat:指标(收集系统、进程和文件系统级别的CPU和内存使用情况等数据)Filebeat:日志文件(收集文件数据)Winlogbeat:Windows事件日志(收集Windows事件日志数据)Auditbeat:审计数据(收集审计日志)Heartbeat:运行时间监控(收集系统运行时的数据)Filebeat是什么Filebeat是用于转发和集中日志数据的轻量级传送工具。Filebeat监视您指定的日志文件或位置,收集日志事件,并将它们转发到Elasticsearch或Logstash进行索引。Filebeat的工作方式如下:启动Filebeat时,它将启动一个或多个输入,这些输入将在为日志数据指定的位置中查找。对于Filebeat所找到的每个日志,Filebeat都会启动收集器。每个收集器都读取单个日志以获取新内容,并将新日志数据发送到libbeat,libbeat将聚集事件,并将聚集的数据发送到为Filebeat配置的输出。工作的流程图如下:Filebeat和Logstash的关系因为Logstash是JVM跑的,资源消耗比较大,所以后来作者又用Golang写了一个功能较少但是资源消耗也小的轻量级的logstash-forwarder。不过作者只是一个人,加入