当前位置:网站首页>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 配置为在关闭之前等待特定的时间。
更多问题,请参考官方文档
边栏推荐
- 第3章 搭建短视频App基础架构
- 分享一款实用的太阳能充电电路(室内光照可用)
- 622. 设计循环队列
- 想学自动化测试网课哪个好?过了人告诉你:适合自己的才是最重要
- Explain the virtual machine in detail!JD.com produced HotSpot VM source code analysis notes (with complete source code)
- RTP协议分析
- ROS中编译通过但是遇到可执行文件找不到的问题
- LeetCode-142. 环形链表 II
- 谷歌研究员被群嘲:研究员爆料AI有意识,被勒令休假
- Simple implementation of a high-performance clone of Redis using .NET (1)
猜你喜欢
随机推荐
广州番禺:暑期防溺水,安全不放假
面试突击71:GET 和 POST 有什么区别?
为什么越来越多的开发者放弃使用Postman,而选择Eolink?
opencv学习—VideoCapture 类基础知识「建议收藏」
[论文阅读] (23)恶意代码作者溯源(去匿名化)经典论文阅读:二进制和源代码对比
子结点的数量
基于Sikuli GUI图像识别框架的PC客户端自动化测试实践
LeetCode刷题笔记:622.设计循环队列
html+css+php+mysql实现注册+登录+修改密码(附完整代码)
解决oracle安装在linux中jdk的冲突
数据库系统原理与应用教程(075)—— MySQL 练习题:操作题 151-159(十九):综合练习
Knowledge Graph Question Answering System Based on League of Legends
R语言拟合ARIMA模型并使用拟合模型进行预测推理、使用autoplot函数可视化ARIMA模型预测结果、可视化包含置信区间的预测结果
缓存--伪共享问题
一个扛住 100 亿次请求的红包系统,写得太好了!!
微信小程序获取用户手机号码
利用ChangeStream实现Amazon DocumentDB表级别容灾复制
LeetCode-142. 环形链表 II
3年软件测试经验,不懂自动化基础...不知道我这种测试人员是不是要被淘汰了?
基于SSM和Web实现的农作物生长监控系统