Fluent Bit 解析器的 Time_Key 有什么用?

Time_Key 告诉 Fluent Bit 解析器:日志里哪个字段是真实时间戳。不配则用采集时间。配合 Time_Format 指定格式、Time_Keep 保留原字段。本文说明三者关系与配置示例。

最佳实践
Fluent Bit 解析器的 Time_Key 有什么用?封面

Time_Key 指定日志中哪个字段包含真实时间——解析器读到它就把该字段值(按 Time_Format 解析)作为事件时间戳;不配的话,事件时间默认是采集时刻,日志延迟到达时时间线就乱了。

配置示例

日志:{"timestamp": "2024-01-15 10:30:00", "msg": "下单成功"}。此示例未带时区,应按日志实际时区设置 Time_Offset 等选项,不能直接假定为本地时间。

[PARSER]
    Name        app_json
    Format      json
    Time_Key    timestamp
    Time_Format %Y-%m-%d %H:%M:%S

解析成功后设置 Fluent Bit 事件时间戳,不会自动在记录中新增 @timestamp 字段;输出端如何命名时间字段取决于插件配置。解析器还需通过 Parsers_File 加载,并由输入/过滤器的 Parser 设置实际引用。

三兄弟参数

参数 作用
Time_Key 指定时间字段名
Time_Format 解析格式(strptime 风格,并有 Fluent Bit 扩展)
Time_Keep On 时原字段保留在记录里,Off 则解析后删除

一般建议 Time_Keep On——保留原字段便于核对。

常见问题(FAQ)

Q:时间格式不对会怎样? 具体行为依解析器、输入及版本而异,不能保证统一回退采集时间;需用无效时间样本检查事件是否保留、丢弃以及实际时间戳。

Q:时区怎么指定? Time_Format 里带 %z;日志无时区信息时用 Time_Offset 参数补偿。

获取专属方案

联系我们

加入社区

微信扫码
加入官方交流群

立即体验

在线开通,按量计费,真正的云服务!

立即开始

选择观测云版本

代码托管平台