我想请求您帮助以自定义格式解析我的日志。我尝试使用http://grokdebug.herokuapp.com/来发现我的日志格式,但不幸的是我没有成功。我的日志有下一种格式:
#AdressHost#TypeLogs|OrganizationName|user@mail.com|CallMethod|ExecutionTimeOnDB|ExecutionTimeOnAppServer|Date Time
例如:
#mac.frozm.com#CallInfo|Jonsens|jack.lellow@jonsens.com|GetTotalsInfo|19|3|2014-05-11 07:49:10
我尝试使用以下模式:
#%{URIHOST}#CallInfo|Jonsens|%{USER:auth}@%{URIPROTO}|GetTotalsInfo|%{NUMBER:duration}|0|%{DATESTAMP} %{TIME}
但Logstash不断投掷“_grokparsefailure” 你能帮助我,或者可以建议另一种方法来解析Logstash工具中的日志
答案 0 :(得分:1)
这部分:
GetTotalsInfo|19|3|
似乎与您的模式的这一部分不匹配:
GetTotalsInfo|%{NUMBER:duration}|0|
在模式中指定0,在示例中您有3。
这是构建grok模式时的一般建议。一次做一小块图案,并在构建更大的图案之前检查它们是否先工作。您可以使用它来调试给您带来麻烦的模式,获取每个单独的部分并对其进行测试。
例如,刚开始使用这样的模式并检查它是否有效:
"^#%{URIHOST}"
(^是一个正则表达式锚点,保证没有前面的字符) 从那里建立。
我希望这有帮助!