华为云计算 云知识 Filebeat是什么

Filebeat是什么

Filebeat是用于转发和集中日志数据的轻量级传送程序。作为服务器上的代理安装,Filebeat监视您指定的日志文件或位置,收集日志事件,并将它们转发到Elasticsearch或Logstash等进行索引。

Filebeat由两个主要组件组成:prospector和harvester。这些组件一起工作来读取文件(tail file)并将事件数据发送到您指定的输出

启动Filebeat时,它会启动一个或多个查找器,查看您为日志文件指定的本地路径。对于prospector所在的每个日志文件,prospector启动harvester。每个harvester都会为新内容读取单个日志文件,并将新日志数据发送到libbeat,后者将聚合事件并将聚合数据发送到您为Filebeat配置的输出。

harvester

harvester:负责读取单个文件的内容。读取每个文件,并将内容发送到the output

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

如果文件在读取时被删除或重命名,Filebeat将继续读取文件。

这有副作用,即在harvester关闭之前,磁盘上的空间被保留。默认情况下,Filebeat将文件保持打开状态,直到达到close_inactive状态

关闭harvester会产生以下结果:

1)如果在harvester仍在读取文件时文件被删除,则关闭文件句柄,释放底层资源。

2)文件的采集只会在scan_frequency过后重新开始。

3)如果在harvester关闭的情况下移动或移除文件,则不会继续处理文件。

要控制收割机何时关闭,请使用close_*配置选项

prospector

prospector负责管理harvester并找到所有要读取的文件来源。

如果输入类型为日志,则查找器将查找路径匹配的所有文件,并为每个文件启动一个harvester。

每个prospector都在自己的Go协程中运行。

Filebeat目前支持两种prospector类型:log和stdin。

每个prospector类型可以定义多次。

日志prospector检查每个文件以查看harvester是否需要启动,是否已经运行,

或者该文件是否可以被忽略(请参阅ignore_older)。

只有在harvester关闭后文件的大小发生了变化,才会读取到新行。

上一篇:什么是Cerebro 下一篇:吉林域名企业备案管局政策