jmeter 的 grok 模式

grok pattern for jmeter

我正在尝试解析以下日志

2015-07-07T17:51:30.091+0530,857,SelectAppointment,Non HTTP response code: 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}

如果您将输入和模式粘贴到 grok 调试器中,它会显示 "Compile ERROR"。它可能是 SO problem,但您的模式中有一些奇怪的字符(“<200c><200b>”)。

构建自定义图案的诀窍是从左侧开始,一次拉下一块。这样,您会注意到此部分模式有效:

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

但是这个 returns "No Matches":

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

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

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

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