如何在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"
}
答案 0 :(得分:1)
prune
过滤器可以执行您想要的操作:
prune {
whitelist_names => ["mydata"]
}