Logstash: обогатить событие из файла журнала данными из статического файла CSV

Сводка: используйте фильтр в logstash, который будет считывать значение из поля события, искать это значение во внешнем файле (например, csv) и извлекать значение из соответствующего внешнего файла. Используйте значение из внешнего файла, чтобы добавить его в качестве дополнительного поля в событии.

Больше информации: у меня есть файл журнала с событиями. События выглядят так:

{"@timestamp":"2014-06-18T11:52:45.370636+02:00","location":{"MainId":3,"SubId":"5"},"EndRequest":{"Duration":{"Main":0,"Page":6720}}}

У меня есть статический CSV-файл, как:

1,left
2,right
3,top

Когда событие обрабатывается в logstash, я хочу использовать фильтр, который проверяет значение MainId (в примере event = 3) и находит это значение в файле csv. Если найдено, то событие должно получить тег: "top".

Это своего рода аналог фильтра «GeoIP». Событие имеет значение поля, совпадает со значением в «базе данных» и возвращает значения обратно, которые можно добавить к событию.

Я не смог найти текущий фильтр, который мог бы обработать выше. Нужно ли самому создавать собственный фильтр? Если да, то может ли кто-нибудь дать подсказку, как к этому подойти?

Ответы на вопрос(2)

Ваш ответ на вопрос