Filebeat 模块与配置

续 • 《开始使用Filebeat

1.  关于Filebeat

当你要面对成百上千、甚至成千上万的服务器、虚拟机和容器生成的日志时,请告别 SSH 吧!Filebeat 将为你提供一种轻量型方法,用于转发和汇总日志与文件,让简单的事情不再繁杂。

关于Filebeat,记住两点:

轻量级日志采集器

输送至 Elasticsearch 或 Logstash,在 Kibana 中实现可视化

 

2.  Filebeat是如何工作的

Filebeat由两个主要组件组成:inputs 和  harvesters (直译:收割机,采集器)。这些组件一起工作以跟踪文件,并将事件数据发送到你指定的输出。

2.1.  harvester是什么

一个harvester负责读取一个单个文件的内容。

harvester逐行读取每个文件(一行一行地读取每个文件),并把这些内容发送到输出。

每个文件启动一个harvester。

harvester负责打开和关闭这个文件,这就意味着在harvester运行时文件描述符保持打开状态。

在harvester正在读取文件内容的时候,文件被删除或者重命名了,那么Filebeat会续读这个文件。这就有一个问题了,就是只要负责这个文件的harvester没用关闭,那么磁盘空间就不会释放。默认情况下,Filebeat保存文件打开直到close_inactive到达。

2.2.  input是什么

一个input负责管理harvesters,并找到所有要读取的源。

如果input类型是log,则input查找驱动器上与已定义的glob路径匹配的所有文件,并为每个文件启动一个harvester。

每个input都在自己的Go例程中运行。

下面的例子配置Filebeat从所有匹配指定的glob模式的文件中读取行:

filebeat.inputs: - type: log paths: - /var/log/*.log - /var/path2/*.log

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zyddjf.html