Hello!
I got JSON and there tags
element which i want to use to add tags.
I rename it to telegraf_tags
because of this topic and want to use them as source for ES tags.
JSON:
{"fields":{"created":1594396144981,"value":"{\"id\": 1, \"type\": \"exit\", \"num\": \"12\", \"other_num\": 2, \"name\": \"Ivan\", \"children\": [{\"name\": \"Julia\", \"age\": 1, \"sex\": true, \"birthtime\": \"09/07/2020 17:38:13\"}], \"birthtime\": \"09/07/2020 17:38:13\", \"created\": 1594316293296}"},"name":"generator_log","tags":{"host":"test.dev.map","path":"/opt/map/agents/generator.log","type":"generator"},"timestamp":1594396144}
logstash config:
filter {
mutate {
copy => {
"[fields][created]" => "created"
"[fields][value]" => "data"
}
rename => ["tags", "telegraf_tags" ]
add_tag => [ "%{[telegraf_tags][type]}", "%{[telegraf_tags][host]}", "%{[telegraf_tags][path]}" ]
remove_field => [ "tags", "fields", "telegraf_tags" ]
}
}
with this logstash config in ES tags looks like this:tags: %{[telegraf_tags][type]}, %{[telegraf_tags][host]}, %{[telegraf_tags][path]}
But if i won't delete field telegraf_tags
- it works:
logstash config:
filter {
mutate {
copy => {
"[fields][created]" => "created"
"[fields][value]" => "data"
}
rename => ["tags", "telegraf_tags" ]
add_tag => [ "%{[telegraf_tags][type]}", "%{[telegraf_tags][host]}", "%{[telegraf_tags][path]}" ]
remove_field => [ "tags", "fields" ]
}
}
but i have to delete it and add tags based on it