在Logstash中只获取嵌套的JSON

时间:2017-05-25 17:27:15

标签: logstash

如何在Logstash中只获得嵌套的json?

{
    "metadata_1":"Meta 1",
    "metadata_2":"Meta 2",
    ...
    "metadata_N":"Meta N",
    "mydata":{
        "name":"User Name 1",
        "surname":"User SurName 1"
    }
}

我想只获得“mydata”。必须从结果中完全删除所有“元数据”。 Logstash配置:

input {
    stdin { }
}
filter {
    json {
       source => "message"
    }
}
output {
    stdout { codec => rubydebug }
}

对我不起作用:

source => "message"
source => "mydata"
source => "[message][mydata]"

预期结果是(“mydata”作为root):

{
    "name":"User Name 1",
    "surname":"User SurName 1"
}

1 个答案:

答案 0 :(得分:1)

prune过滤器可以执行您想要的操作:

 prune {
   whitelist_names => ["mydata"]
 }