У меня есть промышленная система, создающая файлы журналов, в которых некоторые строки выглядят так:
component1 v1 component2 v2 component3 v3 ...
куда vx
числовое значение (например, 3.14159
).
Я использую супер базовый стек ELK, и я хотел бы извлечь их как поле / значение.
Я не знаю, как / где решать проблему. Это конфигурация logstash, которую нужно сделать для извлечения полей из отдельных строк?
Это зло.
В kv
фильтр здесь работать не будет, потому что разделитель ключ = значение такой же, как и разделитель кортежей.
ЕСЛИ линии последовательны, грок может быть вашей спасительной милостью. Но если порядок компонентов меняется, это становится очень сложно, очень быстро.
^{WORD:component1} {%BASE10NUM:component1_val}...