разбор пользовательского журнала в Logstash

Я хочу попросить вашей помощи в разборе моих журналов в пользовательском формате. Я пытался использовать http://grokdebug.herokuapp.com/ для обнаружения формата журнала, но, к сожалению, не не удастся. мой журнал имеет следующий формат:

#AdressHost#TypeLogs|OrganizationName|[email protected]|CallMethod|ExecutionTimeOnDB|ExecutionTimeOnAppServer|Date Time

Например:

#mac.frozm.com#CallInfo|Jonsens|[email protected]|GetTotalsInfo|19|3|2014-05-11 07:49:10

Я пытаюсь использовать следующий шаблон:

#%{URIHOST}#CallInfo|Jonsens|%{USER:auth}@%{URIPROTO}|GetTotalsInfo|%{NUMBER:duration}|0|%{DATESTAMP} %{TIME}

но Logstash продолжает выдавать «_grokparsefailure». Можете ли вы мне помочь или предложить другой способ анализа журнала в инструменте Logstash


person mimin0    schedule 02.07.2014    source источник


Ответы (1)


Эта часть:

GetTotalsInfo|19|3|

не соответствует этой части вашего шаблона:

GetTotalsInfo|%{NUMBER:duration}|0|

поскольку вы указываете 0 в шаблоне, где в вашем примере у вас есть 3.

Вот общий совет по построению узоров грока. Делайте маленькие кусочки узора за раз и проверяйте, работают ли они, прежде чем создавать более крупный узор. Вы можете использовать это для отладки шаблонов, которые доставляют вам проблемы, беря каждую отдельную часть и тестируя их.

Например, просто начните с такого шаблона и проверьте, работает ли он:

"^#%{URIHOST}"

(^ - это якорь регулярного выражения, который гарантирует отсутствие предшествующих символов). Создайте оттуда.

Надеюсь, это помогло!

person DBPriGuy    schedule 02.07.2014