Filebeat 如何保持文件状态?

filebeat

Author:rab


1、问题 ❓

在实际测试/生产中会存在这么一个问题,如果输出目标 Kafka、ES、Kibana 无法连接(访问)时,Filebeat 如何保持文件状态?该文件内容是否成功发送给输出?

2、答案 ✔️

答案是可以的,Filebeat 会保存每个文件的状态,它会把注册表文件中的状态刷新到磁盘,该状态记录了harvester读取文件的最后一个偏移量,如果此时无法访问 Elasticsearch 或 Logstash 等输出,Filebeat 会跟踪发送的最后几行,并在输出再次可用时继续读取文件,从而确保发送所有日志行。

在 Filebeat 运行时,每个输入的状态信息也会保存在内存中。当 Filebeat 重新启动时,来自注册表文件的数据用于重建状态,并且 Filebeat 在最后一个已知位置继续每个 harvester(即继续采集当前最新数据并输出到输出目标)。

也就是说只有 Filebeatharvester 到的日志内容成功发送到输出目标(Kafka、ES、Kibana),且直到输出确认它已收到事件时,才会开启下一轮的 harvester 。如果在发送事件的过程中关闭 Filebeat,它不会在关闭前等待输出确认所有事件是否收到,任何发送到输出但在 Filebeat 关闭之前未确认的事件,在 Filebeat 重新启动时会再次发送。这可确保每个事件至少发送一次,但最终可能会将重复的事件发送到输出。我们可以通过设置 shutdown_timeout 选项将 Filebeat 配置为在关闭之前等待特定的时间。

image-20220803115450602
更多问题,请参考官方文档


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

云计算-Security

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值