Reputation: 986
How can I get only nested json in Logstash?
{
"metadata_1":"Meta 1",
"metadata_2":"Meta 2",
...
"metadata_N":"Meta N",
"mydata":{
"name":"User Name 1",
"surname":"User SurName 1"
}
}
I want to get only "mydata". All "metadata" must be completely removed from the result. Logstash config:
input {
stdin { }
}
filter {
json {
source => "message"
}
}
output {
stdout { codec => rubydebug }
}
Not worked for me:
source => "message"
source => "mydata"
source => "[message][mydata]"
The expected result is ("mydata" as root):
{
"name":"User Name 1",
"surname":"User SurName 1"
}
Upvotes: 0
Views: 435
Reputation: 17155
The prune
filter should do what you want:
prune {
whitelist_names => ["mydata"]
}
Upvotes: 1