Я новичок в Logstash и пытаюсь понять, как вместе работают входы, фильтры и выходы. Я понимаю, что есть множество входов, фильтров и выходов, но я не понимаю, как Logstash работает с сообщениями внутри.
Скажем, я настраиваю вход системного журнала и хочу, чтобы события системного журнала отправлялись в индекс журнала как GELF. Есть вход syslog, который я могу использовать, и есть выход GELF, который я могу использовать. Однако обязан ли я (используя фильтры) заполнить правильное поле GELF на основе значений из события системного журнала?
Следует ли мне смотреть на события (из входных фильтров) как на сущность с именованными полями (своего рода массив ключ: значение), а затем использовать фильтры, чтобы убедиться, что выходные данные могут получить правильные данные?
Как сказал Джордан Сиссел, думайте об этом как о трубе на стероидах, между вводом и выводом вы можете делать с событиями все, что хотите, вы можете сопоставить части сообщения с именами полей, используя грок или вы можете использовать мутировать к удалить поля, замена текста в стиле регулярного выражения, Добавить или удалять теги. Как только вы отформатируете данные так, как хотите, вы можете отправить их на свой вывод.