【问题标题】:parsing custom log in Logstash在 Logstash 中解析自定义日志
【发布时间】:2014-07-02 13:38:19
【问题描述】:

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

【问题讨论】:

    标签: parsing logstash grok


    【解决方案1】:

    这部分:

    GetTotalsInfo|19|3|
    

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

    GetTotalsInfo|%{NUMBER:duration}|0|
    

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

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

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

    "^#%{URIHOST}"
    

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

    我希望这会有所帮助!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-17
      相关资源
      最近更新 更多