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

Logstash处理合法JSON时出现_jsonparsefailure报错求助

问题分析与解决方案

错误原因

报错信息里的raw值是[{"ip"=>"15.156.227.207"}],这已经是Ruby数组结构,而非JSON格式的字符串。生产环境中[data][requestMetadata][clientAddress]字段在到达Logstash前,可能已被FluentBit或上游组件解析成Ruby对象,此时用json过滤器解析非字符串类型的字段,就会触发ClassCastException类型转换异常。

修复方案

修改Logstash过滤规则,先判断目标字段的类型,仅当字段为字符串类型时才执行JSON解析:

修改后的过滤配置

filter {
  # 仅当字段存在且为字符串类型时执行JSON解析
  if [data][requestMetadata][clientAddress] and typeof([data][requestMetadata][clientAddress]) == "string" {
    json { 
      source => "[data][requestMetadata][clientAddress]" 
    }          
  }
}

额外调试建议

如果需要确认字段实际类型,可在过滤规则中添加ruby过滤器打印类型信息:

filter {
  ruby {
    code => 'puts "[data][requestMetadata][clientAddress] type: #{event.get("[data][requestMetadata][clientAddress]").class}"'
  }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 07:45:56