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

Elasticsearch 8.x无法识别自定义时间戳,Fluent-Bit配置问题排查

问题分析与修复方案

你的配置存在两个核心问题,导致ES的@timestamp与pw_time不一致:

1. 时间格式解析不匹配

你的日志时间是9位纳秒精度(yyyy-MM-dd HH:mm:ss.sssssssss),但解析器中Time_Format用的%L是毫秒精度(仅3位小数),这会导致Fluent-Bit解析时间时截断或错误转换,生成的内部时间与原始pw_time不符。

修复方法

修改Parsers.conf中的Time_Format,用%N匹配纳秒:

[PARSER]
  Name pw_tmstp
  Format regex
  Regex (?<pw_time>\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}:\d{2}.\d{9})\s+(?<log>.*)
  Time_Key pw_time
  Time_Format %Y-%m-%d %H:%M:%S.%N  # 替换%L为%N
  Preserve_Key On
  Reserve_Data On

2. Elasticsearch输出插件的Time_Key配置错误

ES输出插件的Time_Key参数是用来指定日志记录中已存在的字段名,该字段的值会被用来填充ES的@timestamp。你当前配置的Time_Key @timestamp是ES的目标字段名,而非日志里的pw_time字段,Fluent-Bit找不到对应字段时会默认使用日志的采集时间,导致和pw_time不一致。

修复方法

修改Output插件的Time_Key为解析出的pw_time:

[OUTPUT]
  Name es
  ...
  Time_Key pw_time  # 替换@timestamp为pw_time

修改完成后重启Fluent-Bit,即可让ES的@timestamp与pw_time保持一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 22:42:08