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

如何为Fluent-Bit CRI解析器添加匹配任意位置日志级别字段的正则?

解决方案

要在CRI日志中提取任意位置的level字段,你需要调整正则表达式,在捕获完整message的同时,单独捕获其中的INFO/WARNING/ERROR关键字。以下是可行的修改方案:

修改后的正则表达式

^(?<time>[^ ]+) (?<stream>stdout|stderr) (?<logtag>[^ ]*) (?<message>.*?(?<level>INFO|WARNING|ERROR).*)$

正则说明

  • 保留原有的time、stream、logtag字段捕获逻辑
  • 在message的捕获组中,通过(?<level>INFO|WARNING|ERROR)命名捕获组提取级别关键字
  • .*?是非贪婪匹配,确保能找到第一个出现的级别关键字,后续的.*保留message的剩余内容

Fluent-Bit配置示例

在你的CRI解析器配置块中,替换正则并确保字段映射正确:

[PARSER]
    Name        cri
    Format      regex
    Regex       ^(?<time>[^ ]+) (?<stream>stdout|stderr) (?<logtag>[^ ]*) (?<message>.*?(?<level>INFO|WARNING|ERROR).*)$
    Time_Key    time
    Time_Format %Y-%m-%dT%H:%M:%S.%L%z

补充说明

  • 如果日志中可能存在多个级别关键字,这个正则会提取第一个出现的;若需要提取最后一个,可将正则调整为^(?<time>[^ ]+) (?<stream>stdout|stderr) (?<logtag>[^ ]*) (?<message>.*(?<level>INFO|WARNING|ERROR).*)$(去掉?改为贪婪匹配)
  • 测试时可以用Fluent-Bit的-v参数运行,查看字段提取情况,确认level字段是否正确生成

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 12:03:13