我有一个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。但是,我还得到了一些多余的东西,我相信这是由于变异所致:
如您所见,还有重复的其他“ parsedJson。[field_name]”字段。我玩过json和mutate部分,但似乎无法弄清楚。任何帮助表示感谢,谢谢。
答案 0 :(得分:0)
在变异过滤器中使用remove_field。
mutate {
remove_field => [ "[parsedJson][message]", "[parsedJson][serviceName]", "[parsedJson][thread_name]" ]
}