Grok - Разобрать логи со строками разной длины - PullRequest
2 голосов
/ 21 марта 2019

У меня есть журнал в следующем формате

<timestamp1> <user1>-<jobclass1> <n> <user2>-<jobclass2> <n> <user3>-<jobclass3> <n> ...
<timestamp2> <user1>-<jobclass1> <n> <user2>-<jobclass2> <n> ...    
<timestamp1> <user1>-<jobclass1> <n> <user2>-<jobclass2> <n> <user3>-<jobclass3> <n> <user4>-<jobclass4> <n>...

И нужен возврат, как это для каждого пользователя

{ "имя пользователя": [ "XXXX" ], "jobclass": [ "YYYY" ], «количество»: [ "ZZZZ" ] }

Я пытаюсь использовать это

% {SYSLOGBASE}% {WORD: пользователь} -% {WORD: jobclass}% {NUMBER: количество}

Проблема в том, что каждая строка может иметь 4, 5, 10, 100 пользователей. Поэтому мне нужно реализовать некоторую рекурсивность

Некоторые идеи?

Спасибо

...