【问题标题】:grok pattern for jmeterjmeter的grok模式
【发布时间】:2015-07-07 18:54:03
【问题描述】:

我正在尝试解析以下日志

2015-07-07T17:51:30.091+0530,857,SelectAppointment,Non HTTP 响应代码:java.net.URISyntaxException,FALSE,8917,20,20,0,1,1,byuiepsperflg01

现在我无法在一个字段中解析非 HTTP 响应代码:java.net.URISyntaxException。请帮助构建模式

这是我正在使用的模式

%{TIMESTAMP_ISO8601:log_timestamp}\,%{INT:elapsed}\,%{WORD:label}\,%{INT:respons‌ecode}\,%{WORD:responsemessage}\,%{WORD:success}\ ,%{SPACE:faliusemessage}\,%{INT:‌​bytes}\,%{INT:grpThreads}\,%{INT:allThreads}\,%{INT:Latency}\,%{INT:SampleCount}\ ‌​,%{INT:ErrorCount}\,%{WORD:Hostname}

【问题讨论】:

  • 如果你发布你正在使用的模式,我们可以批评它。乍一看,用逗号分隔(可能使用 csv{} 过滤器)可能是一个很好的模式。
  • %{TIMESTAMP_ISO8601:log_timestamp}\,%{INT:elapsed}\,%{WORD:label}\,%{INT:responsecode}\,%{WORD:responsemessage}\,%{ WORD:success}\,%{SPACE:faliusemessage}\,%{INT:bytes}\,%{INT:grpThreads}\,%{INT:allThreads}\,%{INT:Latency}\,%{INT: SampleCount}\,%{INT:ErrorCount}\,%{WORD:Hostname}
  • 异常需要进入响应码字段

标签: logstash grok logstash-grok


【解决方案1】:

如果您将输入和模式粘贴到 grok 调试器中,它会显示“编译错误”。可能是SO problem,但您的模式中有一些奇怪的字符(“”)。

构建自定义模式的技巧是从左侧开始,一次拉出一件。有了这个,你会注意到这个部分模式有效:

%{TIMESTAMP_ISO8601:log_timestamp},%{INT:elapsed},%{WORD:label}

但是这个返回“No Matches”:

%{TIMESTAMP_ISO8601:log_timestamp},%{INT:elapsed},%{WORD:label},%{INT:respons‌​ecode}

因为你在那个位置没有整数。

继续一次添加一个字段,直到您想要的所有内容都匹配。

请注意,您不必转义逗号。

【讨论】:

    猜你喜欢
    • 2022-01-13
    • 2019-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多