You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

FluentBit无法解析JSON时间戳问题求助

FluentBit无法解析JSON日志时间戳的解决方法

问题根源

你的配置存在两个关键问题:

  1. Parser过滤器的Key_Name配置错误:dummy输入插件生成的日志直接是JSON对象({"foo":"bar", "time":"2024-08-29T08:51:25.0000Z"}),没有嵌套在message字段中,但你设置了Key_Name message,导致过滤器找不到需要解析的内容。
  2. 时间格式匹配不精确:你使用的%Y-%m-%dT%H:%M:%S.%LZ格式中,%LZ对应三位毫秒数,但日志中的时间是四位小数(.0000Z),格式不匹配会导致解析失败。

修复后的配置

主配置文件(fluent-bit.conf)

修改Filter部分,移除错误的Key_Name message:

[SERVICE]
    Parsers_File parsers.conf
    Log_Level debug

[INPUT]
    Name dummy
    Dummy {"foo":"bar", "time":"2024-08-29T08:51:25.0000Z"}

[FILTER]
    Name parser
    Match *
    Parser vault

[OUTPUT]
    Name          stdout

parsers.conf配置

将时间格式改为兼容ISO8601的通用格式,或精确匹配四位小数的格式:

方案1:使用ISO8601通用格式(推荐)

[PARSER]
    Name          vault
    Format        json
    Time_Key      time
    Time_Format   iso8601

方案2:精确匹配四位小数的格式

[PARSER]
    Name          vault
    Format        json
    Time_Key      time
    Time_Format   %Y-%m-%dT%H:%M:%S.%4NZ

验证效果

修改后运行FluentBit,输出的日志时间会变成解析后的时间戳(对应2024-08-29T08:51:25.0000Z),而不再是系统当前时间:

[0] dummy.0: [[1724902285.000000000, {}], {"foo"=>"bar"}]

(注:原time字段会被解析后作为日志时间,默认会从记录中移除,若需要保留可添加Preserve_Key On到Parser过滤器配置)

内容的提问来源于stack exchange,提问作者user140547

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 06:05:53