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

如何在Logstash中合并firstname与lastname字段并解决_jsonparsefailure报错

Logstash字段合并与json解析故障解决

问题原因梳理

  • _jsonparsefailure报错触发原因
    • 输入文件格式不符合要求:需保证每一行对应一个完整独立的JSON对象,无多余换行、特殊字符
    • 文件读取配置缺失:file input默认从文件尾部开始读取内容,若使用已有历史文件测试,未配置start_position => "beginning"会导致读取内容不完整,同时可关闭sincedb记录避免历史读取进度干扰
  • 现有配置语法错误
    • 字段名大小写不匹配:原始数据中名的字段为小写firstname,配置中错误使用大写开头的Firstname,Logstash字段名大小写敏感,无法正确取值
    • add_field语法错误:合并字段需将两个字段的引用写在同一个值字符串中,原配置将%{lastname}作为独立键,不符合键值对语法规则

正确配置示例

input {
  file {   
    path => "替换为你的输入json文件绝对路径"
    start_position => "beginning"
    sincedb_path => "/dev/null" # Windows环境改为 NUL
    codec => "json" # 直接在输入层解析json,可省略filter层的json解析插件
  }
}
filter { 
  mutate {
    add_field => { 
      "fullname" => "%{firstname} %{lastname}" 
    }
    # 可选配置:不需要保留原字段和原始报文可打开下方注释
    # remove_field => ["firstname", "lastname", "message"]
  }
}
output {
  file {
    path => "替换为你的输出文件绝对路径"
    codec => json_lines # 保证输出每行为标准JSON格式
  }
}

效果验证

配置修改后重启Logstash,清空之前的sincedb记录重新读取文件,输出结果中会新增fullname字段,样例数据合并后结果为"fullname": "Desiree Mays",同时不会再出现_jsonparsefailure标签。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 06:27:02