简介
Filebeat是一个轻量级的日志收集工具,安装在客户端,资源消耗少。Filebeat监控并收集指定路径下的日志文件信息,并将收集到的日志数据发送到Elasticsearch或者Logstash。
Filebeat工作示意图
-
Filebeat启动后会监控一个或多个目录下的日志文件
-
对于监控的每一个文件,都会启动一个Harvester进程
-
Harvester负责监控日志文件内容,收集新增的日志数据并将其发送到libbeat
-
libbeat会将收到的所有数据进行汇总,并输出到Filebeat配置的输出(Elasticsearch或者Logstash等)
工作原理
Filebeat保持每个被监控的文件状态,并频繁的把文件状态从注册表中保存到磁盘上。文件的状态主要是用来记录上一次Harvester读取文件的位置,这样能保证把全部的日志数据读取并发送给后端(logstash或Elasticsearch)。
-
如果Elasticsearch或LogStash不可用了,Filebeat会把最后读取数据的文件位置保存下来,当Elasticsearch或LogStash可用时,能够快速恢复。
-
如果Filebeat进行了重启,则重启后会从注册表文件中恢复之前记录的文件状态信息,继续从之前已知的位置开始读取数据。