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

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

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

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

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

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


person user1001    schedule 03.07.2018    source источник


Ответы (2)


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

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

\[%{TIMESTAMP_ISO8601}\] \[%{WORD}\]
person Sufiyan Ghori    schedule 03.07.2018
comment
Спасибо .. Как я узнаю, какой шаблон даты соответствует? - person user1001; 04.07.2018

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

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

person Alexander Bolshakov    schedule 03.07.2018