CnOps 社区
首页开源项目实践文章视频课程常见问答开发者工具
导航菜单
首页开源项目实践文章视频课程常见问答开发者工具

CnOps 社区

愿景

CnOps 社区是一个以"智能运维与可观测"为核心的开放、包容、分享的技术社区,旨在聚集运维专家、开发者和爱好者,共同探讨、学习和分享可观测最佳实践与最新技术,与众多技术社区合作互动,共同探讨交叉领域的技术挑战,推动可观测领域的创新与进步。

内容社区

  • 实践文章
  • 视频课程
  • 开源项目
  • 常见问答
  • 开发者工具

友情链接

  • Prometheus
  • Grafana Lab
  • OpenTelemetry
  • LoongCollector

关注我们

阿里云云原生公众号阿里云云原生
阿里云可观测公众号阿里云可观测

Copyright © 2026 CnOps 社区. All rights reserved.

首页问答开源日志采集器在进程异常终止时的数据可靠性表现如何?

开源日志采集器在进程异常终止时的数据可靠性表现如何?

#可靠性#checkpoint#日志采集器#异常恢复#数据一致性

可观测中文社区 | 2025-03-19

五款采集器在进程被 kill -9 异常终止后的数据可靠性表现差异明显:

  • Fluent-bit:表现最好,多次测试数据均一致。它使用 SQLite 实现 checkpoint,默认采用预写式日志模式(WAL)和 NORMAL 同步方法,确保 checkpoint 及时同步,支持崩溃后状态恢复
  • Filebeat:能够保证数据一致性,其 registry 文件机制在异常退出后能正确恢复采集点位
  • Vector:同样能够保证数据一致性,支持 At-least-Once 语义
  • iLogtail(社区版):默认的 checkpoint 机制在进程异常退出时来不及保留 offset,部分数据处于内存队列中,会出现重复消费上一轮数据的情况。不过商业版结合 SLS 后端去重可实现 ExactlyOnce 语义
  • Rsyslog:默认只在进程正常退出时保存采集状态,异常退出会丢失上一轮采集点位导致重复消费。可通过 PersistStateInterval 参数缓解,但仍有少量重复