当前位置:首页 >专题 >OpenTelemetry File Log Receiver 日志采集可靠性工程专题

OpenTelemetry File Log Receiver 日志采集可靠性工程专题
OpenTelemetry File

OpenTelemetry File Log Receiver 日志采集可靠性工程专题

从文件尾读、断点检查点到重启不丢不重
文件日志采集真正难的不是把文本读进 Collector,而是进程重启、文件轮转、机器抖动和高吞吐写入后,仍然知道从哪里继续读、哪些记录已经交付,以及如何证明没有静默丢失或重复。这个专题聚焦 OpenTelemetry Collector Contrib 的 File Log Receiver 与 storage extension,结合 Go 结构化日志、容器日志和 OpenTelemetry Logs/Trace 关联,建立可回放、可观测、可回退的生产采集链路。

站内可靠采集实战路线

从 Go 日志写入推进到轮转、关联、故障演练和验收

OpenTelemetry日志与Trace关联字段的落地清单
文章

OpenTelemetry日志与Trace关联字段的落地清单

整理 Logs 与 Trace 关联所需字段、上下文和验收清单。
CNCF OpenTelemetry 治理成熟后如何划分 Collector 配置与业务埋点责任
文章

CNCF OpenTelemetry 治理成熟后如何划分 Collector 配置与业务埋点责任

讨论 Collector 配置、业务埋点和生产治理的职责边界。
Go 结构化日志库怎么选:标准库 slog、zap 与 zerolog 的取舍
文章

Go 结构化日志库怎么选:标准库 slog、zap 与 zerolog 的取舍

比较 Go 结构化日志生产方式、字段和性能边界。
Golang日志轮转:lumberjack与自定义方案
文章

Golang日志轮转:lumberjack与自定义方案

讨论按大小、时间轮转与文件生命周期管理。
Golang容器日志标准化与监控技巧
文章

Golang容器日志标准化与监控技巧

从容器 stdout、日志格式和监控角度处理生产日志。
Golang日志分级与输出配置全解析
文章

Golang日志分级与输出配置全解析

覆盖日志级别、输出目的地和配置组织方式。
OpenTelemetry OTTL Lambda 表达式怎么用:字段清洗、路由与上线边界
文章

OpenTelemetry OTTL Lambda 表达式怎么用:字段清洗、路由与上线边界

介绍采集后字段清洗、过滤、路由和灰度验收。
logrus hook输出日志到本地磁盘的操作
文章

logrus hook输出日志到本地磁盘的操作

演示 Go 日志通过 hook 写入本地文件并处理输出。

File Log Receiver 常见问题

围绕 checkpoint、轮转、重复、权限和性能做上线判断

File Log Receiver 重启后会不会重复采集?

是否重复取决于 checkpoint 持久化位置、文件身份识别和写入时机。应启用受支持的 storage 配置,演练正常退出、强杀和断电恢复,并用唯一事件 ID 对输入输出做差异核对。

日志轮转用 rename 还是 copytruncate?

优先使用能保留文件身份和写入语义清晰的 rename 方案;copytruncate 可能在复制与截断之间产生竞态,必须结合采集器 inode、offset 和应用写入方式做压测,不可只看文件名。

解析失败的日志应该丢弃还是进入死信?

生产上不应静默丢弃。应保留原始 body、错误原因和源文件元数据,路由到隔离文件或专用 exporter,并设置失败率告警;修复 parser 后再回放,而不是盲目重启采集器。

File Log Receiver 如何验证没有漏采?

用带单调序号或事件 ID 的固定日志样本覆盖启动、追加、轮转、重启、权限变化和磁盘压力,比较源文件、checkpoint、Collector 输出和下游落库四端数量,分别统计丢失、重复和延迟。

微信登录更方便
  • 密码登录
  • 注册账号
登录即同意 用户协议 和 隐私政策
返回登录
  • 重置密码