Отправка поля в качестве корневого поля в Logstash - PullRequest
0 голосов
/ 23 января 2019

Работа в logstash 5.4. В настоящее время у меня есть события, которые отправляют все свои данные в поле «данных» и дают кучу дополнительной информации, которую я не хочу видеть в моей эластичной информации на корневом уровне. Итак, структура данных выглядит примерно так

{
"index": "index-value",
"otherMetaData" : "stuff",
"data" {"key1":"value1", "key2":"value2"}
}

Я хочу, чтобы мой logstash просто отправлял часть данных этого значения, чтобы упругая получала

{"key1":"value1", "key2":"value2"}

И больше ничего. Есть ли установленное значение в качестве корневого плагина в logstash? Или простой способ сделать это

1 Ответ

0 голосов
/ 13 февраля 2019

Полагаю, проще всего установить источник в «data»

filter {
    json {
        source => "data"
    }
}

Вы также можете использовать фильтр mutate или пользовательский сценарий ruby, как объяснил Магнус Бэк в Устранить поле верхнего уровня в Logstash

Elastic задокументировал API событий и Полевые ссылки Deep Dive . Они помогли мне понять, что означает "%{[message]}".

...