If you input
{ "Foo": 1, "Bar":"2" }
into logstash with this config
input { stdin { } }
output { stdout { codec => rubydebug } }
filter {
json {
source => "message"
target => "event_data"
}
mutate {
add_field => {"event_data.Suspicious" => "Suspicious Activity"}
}
mutate {
copy => {"[event_data][Foo]" => "event_data.withdot" }
}
mutate {
copy => {"[event_data][Foo]" => "[event_data][withbracket]" }
}
mutate {
}
}
You will see the difference.
{
"@timestamp" => 2017-11-30T17:25:46.727Z,
"@version" => "1",
"host" => "[...]",
"event_data" => {
"withbracket" => 1,
"Bar" => "2",
"Foo" => 1
},
"message" => "{ \"Foo\": 1, \"Bar\":\"2\" }",
"event_data.Suspicious" => "Suspicious Activity",
"event_data.withdot" => 1
}