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

Logstash过滤器语法求助:管道报错且数据处理异常

Logstash配置语法修正方案

原配置存在的问题

  • 重复JSON解析:input的file插件已通过codec => "json"自动解析文件内容为JSON结构,filter层再调用json过滤器会因message字段已不是字符串而报错。
  • 语法不闭合:output块内的elasticsearch配置缺少闭合大括号,导致管道语法校验失败。
  • 参数类型错误:template_name参数应为字符串类型,原配置的数组写法不符合语法要求。

修正后的完整配置

input {
  file {
    path => "/var/tmp/wd/accounts/*.json"
    codec => "json"
    start_position => "beginning"
    sincedb_path => "/dev/null"
  }
}

# 移除重复的json过滤器,input已完成JSON解析
filter {
    # 如需额外字段处理,可在此添加mutate等过滤器
}

output {
   elasticsearch {
     hosts => "http://localhost:9200"
     template => "/etc/logstash/templates/accounts-template.json"
     template_name => "accounts-template.json"
     template_overwrite => true
     index => "accounts-%{+yyyy.MM.dd}"
     user =>  "user"
     password => "password"
   } # 补全elasticsearch配置块的闭合大括号
   stdout { codec => rubydebug }
}

关键修改说明

  1. 移除filter层的json过滤器,避免重复解析引发的字段错误。
  2. 补全elasticsearch配置块末尾的},修复语法不闭合问题。
  3. 将template_name的数组格式改为字符串格式,匹配参数类型要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 06:22:45