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": "下单成功"}

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

解析后事件的 @timestamp 是日志里的真实时间,而不是采集时间。

三兄弟参数

参数 作用
Time_Key 指定时间字段名
Time_Format 解析格式(strftime 语法)
Time_Keep On 时原字段保留在记录里,Off 则解析后删除

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

观测云对照

观测云 DataKit 的日志解析同样以日志内时间为优先:Pipeline 中解析出的时间字段会成为日志的标准时间,在查看器中按真实发生时间排序检索。

常见问题(FAQ)

Q:时间格式不对会怎样? 解析失败,回退使用采集时间——日志时间线会跳。

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

获取专属方案

联系我们

加入社区

微信扫码
加入官方交流群

立即体验

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

立即开始

选择观测云版本

代码托管平台