Hi,
I have seen multiple thread talking about this problem but with some differences. I have the following log schema:
"messageId": 123,
"timestamp": "2020-09-14T03:35:37",
"extra": {
"name": "typefood",
"food_changes": [ {
"property": "coca",
"data_type": "experience"},
{"property": "tea",
"data_type": "amazing"
}
]
I would like to get what you can see on "food_changes" splitted into two different logs like this outcome:
"message.id": 123,
"timestamp": "2020-09-14T03:35:37",
"extra.name": "typefood"
"extra.food_changes.property": "coca"
"extra.food_changes.data_type": "experience"
"message.id": 123,
"timestamp": "2020-09-14T03:35:37",
"extra.name": "typefood"
"extra.food_changes.property": "tea"
"extra.food_changes.data_type": "amazing"
What I am trying is:
filter {
json {
source => "message"
}
split {
field => "[extra][food_changes]"
}
mutate {
add_field =>
"[message][id]" => "%{[messageid]}
}
But it only shows in Kibana the fields for the first log...
"messageid": 123,
"timestamp": "2020-09-14T03:35:37",
"extra.name": "typefood"
"extra.food_changes.property": "coca"
"extra.food_changes.data_type": "experience"
not for the second log...
"messageid": 123,
"timestamp": "2020-09-14T03:35:37",
"extra.name": "typefood"
"extra.food_changes.property": "tea"
"extra.food_changes.data_type": "amazing"
Can someone please give me some insight?