Проблема разбора Grok с использованием журнала разбора, содержащего текст, начинающийся [дата] [имя хоста] - PullRequest
0 голосов
/ 03 июля 2018

Я пытаюсь разобрать лог ниже, используя grok

 [2018-10-06 12:04:03:0227] [MYMACHINENAME]

и выражение grok, которое я использовал, это

/[%{DATESTAMP:date}/] /[%{WORD:data}%/]

и это выражение не работает. Я пытался заменить WORD именем хоста, даже тогда, когда он не работал, и если я пытаюсь использовать один из совпадений, то он работает. Кто-нибудь может предоставить мне лучшие учебные страницы для изучения выражений грока?

Ответы [ 2 ]

0 голосов
/ 04 июля 2018

В вашем шаблоне есть несколько ошибок. Прежде всего, вы экранируете символ, используя обратную косую черту /, а не прямую косую черту \. Во-вторых, вам не нужно %, чтобы соответствовать ] в конце. В-третьих, DATESTAMP не соответствует вашему шаблону даты, вам нужно TIMESTAMP_ISO8601.

Ваш окончательный образец должен стать,

\[%{TIMESTAMP_ISO8601}\] \[%{WORD}\]
0 голосов
/ 03 июля 2018

Шаблон регулярного выражения DATESTAMP не подходит для вашей строки. Попробуйте использовать TIMESTAMP_ISO8601.

Здесь вы можете увидеть все шаблоны регулярных выражений Grok: шаблоны Grok .

...