У меня вопрос по фильтру logsta sh grok - PullRequest
1 голос
/ 27 мая 2020

Я хочу извлекать поля через фильтр grok logsta sh. Например, если возникает следующий журнал, я хотел бы извлечь время сообщения, поток, уровень журнала и код состояния.

2020-01-01 10:10:10 [QuartzScheduler-1] ERROR c .l. c .i. c .ta c .AmazonElbV2Task-Исключение произошло ..... LoadBalancing; Код состояния: 400; Код ошибки: регулирование;

Время сообщения, поток и уровни журнала были извлечены с помощью следующих фильтров. Как мне извлечь код состояния?

% {TIME: messageTime} [(? [A-Za-z0-9 \ W.-_] +)]% {LOGLEVEL: logLevel}

1 Ответ

2 голосов
/ 27 мая 2020

Вы можете использовать следующее выражение GROK. он был протестирован с использованием отладчика GROK с предоставленными вами данными. Я предлагаю вам также использовать отладчик GROK из kibana или вы можете найти 1 в Интернете, чтобы построить свои выражения GROK.

^%{TIMESTAMP_ISO8601:event_timestamp}%{SPACE}\[%{DATA:thread}\]%{SPACE}%{LOGLEVEL:log_level}%{GREEDYDATA}Status Code: %{NUMBER:status:int}%{GREEDYDATA}$
...