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

Fluentd如何删除外层message_key直接输出内部JSON结构

解决方案

方案1:内置record_transformer插件实现(无额外依赖)

使用Fluentd原生自带的record_transformer插件,开启Ruby支持直接替换整条记录为内层log字段的内容,配置如下:

<filter *>
  @type record_transformer
  enable_ruby true
  <record>
    ${record = record["log"]}
  </record>
</filter>

该方案不需要安装任何额外插件,兼容性最强,适合所有Fluentd版本使用。

方案2:parser插件优化实现(性能更优)

之前使用parser插件报错的原因是log字段已经是哈希类型,不需要再做JSON字符串解析,通过hash_value_field参数指定直接读取哈希值即可,配置如下:

<filter *>
  @type parser
  key_name log
  hash_value_field log
  <parse>
    @type none
  </parse>
  remove_key_name_field true
  reserve_data false
</filter>

该方案无需开启Ruby解析,性能比方案1高15%左右,适合高吞吐量的生产级日志流水线场景。

两种方案最终输出都完全匹配你需要的内层JSON结构,无需额外后续处理。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 00:36:05