当前位置:网站首页>Filebeat 如何保持文件状态?
Filebeat 如何保持文件状态?
2022-08-03 12:06:00 【云计算-Security】

Author:rab
1、问题
在实际测试/生产中会存在这么一个问题,如果输出目标 Kafka、ES、Kibana 无法连接(访问)时,Filebeat 如何保持文件状态?该文件内容是否成功发送给输出?
2、答案 ️
答案是可以的,Filebeat 会保存每个文件的状态,它会把注册表文件中的状态刷新到磁盘,该状态记录了harvester读取文件的最后一个偏移量,如果此时无法访问 Elasticsearch 或 Logstash 等输出,Filebeat 会跟踪发送的最后几行,并在输出再次可用时继续读取文件,从而确保发送所有日志行。
在 Filebeat 运行时,每个输入的状态信息也会保存在内存中。当 Filebeat 重新启动时,来自注册表文件的数据用于重建状态,并且 Filebeat 在最后一个已知位置继续每个 harvester(即继续采集当前最新数据并输出到输出目标)。
也就是说只有 Filebeat 将 harvester 到的日志内容成功发送到输出目标(Kafka、ES、Kibana),且直到输出确认它已收到事件时,才会开启下一轮的 harvester 。如果在发送事件的过程中关闭 Filebeat,它不会在关闭前等待输出确认所有事件是否收到,任何发送到输出但在 Filebeat 关闭之前未确认的事件,在 Filebeat 重新启动时会再次发送。这可确保每个事件至少发送一次,但最终可能会将重复的事件发送到输出。我们可以通过设置 shutdown_timeout 选项将 Filebeat 配置为在关闭之前等待特定的时间。

更多问题,请参考官方文档
边栏推荐
猜你喜欢
随机推荐
第四课 标识符、关键字、变量、变量的分类和作用域、常量
Five super handy phone open-source automation tools, which is suitable for you?
App自动化测试怎么做?实战分享App自动化测试全流程
Apache APISIX 2.15 版本发布,为插件增加更多灵活性
从零开始C语言精讲篇5:指针
如何免费获得一个市全年的气象数据?降雨量气温湿度太阳辐射等等数据
bash case usage
bash if conditional judgment
LeetCode-142. 环形链表 II
C language advanced article: memory function
第4章 搭建网络库&Room缓存框架
fastposter v2.9.0 程序员必备海报生成器
dataset数据集有哪些_数据集类型
深度学习跟踪DLT (deep learning tracker)
当前页面的脚本发生错误如何解决_电脑出现当前页面脚本错误怎么办
R语言绘制时间序列的自相关函数图:使用acf函数可视化时间序列数据的自相关系数图
小身材有大作用——光模块寿命分析(二)
LeetCode-48. 旋转图像
The effects of the background and the Activiti
bash for循环









