在将输入转换为json后如何摆脱多余的字段和值?

时间:2019-10-21 20:05:38

标签: elasticsearch logstash logstash-grok

我有一个logstash配置,具有如下所示的过滤器:

filter {
  grok {
    match => { "message" => "%{GREEDYDATA:inputs}"}
  }
  json {
    source => "inputs"
    target => "parsedJson"
    remove_field => ["inputs"]
  }
  mutate {
    add_field => {
      "serviceName" => "%{[parsedJson][serviceName]}"
      "thread_name" => "%{[parsedJson][thread_name]}"
    }
  }
}

它正在工作,我正在Elastic / Kibana中获得字段/变量名称,例如serviceName和thread_name。但是,我还得到了一些多余的东西,我相信这是由于变异所致:

unwanted grok output

如您所见,还有重复的其他“ parsedJson。[field_name]”字段。我玩过json和mutate部分,但似乎无法弄清楚。任何帮助表示感谢,谢谢。

1 个答案:

答案 0 :(得分:0)

在变异过滤器中使用remove_field

mutate {
        remove_field => [ "[parsedJson][message]", "[parsedJson][serviceName]", "[parsedJson][thread_name]" ]
    }