0

我想请你帮忙以自定义格式解析我的日志。我尝试使用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 工具中解析日志的另一种方法

4

1 回答 1

1

这部分:

GetTotalsInfo|19|3|

似乎与您的模式的这一部分不匹配:

GetTotalsInfo|%{NUMBER:duration}|0|

当您在模式中指定 0 时,在您的示例中您有 3。

这是构建 grok 模式时的一般建议。一次做一小块图案,并在构建更大的图案之前检查它们是否首先起作用。您可以使用它来调试给您带来麻烦的模式,获取每个单独的部分并测试它们。

例如,从这样的模式开始,然后检查它是否有效:

"^#%{URIHOST}"

(^ 是一个正则表达式锚,保证没有前面的字符)从那里建立。

我希望这有帮助!

于 2014-07-02T14:11:14.793 回答