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

如何修改Fluent Bit配置解决Humio解析Kubernetes JSON日志前缀报错问题

解决Fluent Bit采集K8s Pod日志前缀导致Humio JSON解析失败问题

你遇到的前缀是容器运行时(Docker/containerd)默认添加的CRI标准日志头,格式为<时间戳> <流类型> <标志位> <实际日志内容>,你的合法JSON内容被包裹在这段前缀之后,因此直接解析整行日志会触发JSON格式错误。

你可以通过修改Humio Helm部署的values.yaml配置,调整Fluent Bit的解析规则解决问题,步骤如下:

  • 第一步:开启输入段的CRI自动解析
    配置Fluent Bit的tail输入插件使用自带的CRI解析器,自动拆分前缀和实际日志内容,拆分后你的原始JSON会被放到log字段中:
    humio-fluentbit:
      config:
        inputs: |
          [INPUT]
              Name              tail
              Path              /var/log/containers/*.log
              Parser            cri
              Tag               k8s.*
              Mem_Buf_Limit     5MB
              Skip_Long_Lines   On
    
  • 第二步:调整过滤器配置,对log字段做JSON解析
    因为你已经给Pod添加了humio-parser注解指定解析器,只需要调整解析器的读取字段为拆分后的log字段即可:
    filters: |
          [FILTER]
              Name                kubernetes
              Match               k8s.*
              K8S-Logging.Parser  On
              K8S-Logging.Exclude On
              Merge_Log           On
              Keep_Log            Off
    
          [FILTER]
              Name                parser
              Match               k8s.*
              Key_Name            log
              Parser              $kubernetes['annotations']['humio-parser']
              Preserve_Key        Off
              Reserve_Data        On
    
    如果你不需要保留CRI拆分出来的时间、流类型等元数据,可以把Reserve_Data设为Off。
  • 第三步:生效配置
    执行helm升级命令重启Fluent Bit即可:
    helm upgrade <你的Humio Release名称> humio/humio --values values.yaml

配置生效后新采集的日志就可以正常解析JSON,不会再出现前缀导致的报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 07:27:02