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

Logstash解析合法JSON文件失败,如何修复?

Logstash JSON解析错误(org.jruby.RubyHash转RubyIO)修复方案

你遇到的类型转换错误和_jsonparsefailure标记,大概率是Logstash管道配置的问题(既然你确认JSON日志本身合法),以下是具体修改方向:

  • 检查json过滤器的source字段配置
    错误原因:如果source指定的是一个哈希类型的字段(比如误写为数组格式source => [message],或者字段已经被之前的插件转成了哈希),json过滤器会尝试解析哈希而非原始JSON字符串,触发类型转换错误。
    修改方式:确保source指向存储原始JSON文本的字符串字段(通常是message):

    filter {
      json {
        source => "message"  # 这里必须是字符串类型的字段
        target => "parsed_data"  # 可选,指定解析后数据的存储位置
      }
    }
    
  • 避免重复解析JSON
    错误原因:如果输入插件(比如file)已经配置了codec => "json",会自动把每行日志解析成哈希结构,此时再用json过滤器解析已有的哈希字段,就会报错。
    修改方式:二选一即可:

    1. 移除filter块中的json过滤器;
    2. 将输入插件的codec改为plain,让json过滤器负责解析原始字符串:
      input {
        file {
          path => "/path/to/your/logs.json"
          codec => "plain"
        }
      }
      
  • 强制转换字段类型为字符串
    如果之前的插件逻辑意外将目标字段转成了哈希,可以在json过滤器前添加mutate插件强制转换字段类型:

    filter {
      mutate {
        convert => { "message" => "string" }
      }
      json {
        source => "message"
      }
    }
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 07:42:07