当前位置:网站首页>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 配置为在关闭之前等待特定的时间。
更多问题,请参考官方文档
边栏推荐
- 肝完Alibaba这份面试通关宝典,我成功拿下今年第15个Offer
- LyScript 实现对内存堆栈扫描
- bash case用法
- 【一起学Rust】Rust学习前准备——注释和格式化输出
- bash for loop
- 面试官:SOA 和微服务的区别?这回终于搞清楚了!
- 【一起学Rust】Rust的Hello Rust详细解析
- 距LiveVideoStackCon 2022 上海站开幕还有3天!
- Explain the virtual machine in detail!JD.com produced HotSpot VM source code analysis notes (with complete source code)
- 漫谈缺陷管理的自动化实践方案
猜你喜欢
随机推荐
Apache APISIX 2.15 版本发布,为插件增加更多灵活性
-找树根2-
解决oracle安装在linux中jdk的冲突
【一起学Rust】Rust的Hello Rust详细解析
opencv学习—VideoCapture 类基础知识「建议收藏」
Vs 快捷键---探索不一样的编程
国内数字藏品与国外NFT主要有以下六大方面的区别
一次内存泄露排查小结
[深入浅出]三位数排序
当前页面的脚本发生错误如何解决_电脑出现当前页面脚本错误怎么办
ssh 免密登录了解下
第四周学习 HybridSN,MobileNet V1,V2,V3,SENet
深入理解MySQL事务MVCC的核心概念以及底层原理
面试官:SOA 和微服务的区别?这回终于搞清楚了!
码率vs.分辨率,哪一个更重要?
LyScript implements memory stack scanning
C language advanced article: memory function
缓存--伪共享问题
fastposter v2.9.0 programmer must-have poster generator
常用lambda表达式