我正在尝试解析以下日志
2015-07-07T17:51:30.091 + 0530,857,SelectAppointment,非HTTP响应代码:java.net.URISyntaxException,FALSE,8917,20,20,0,1,1,byuiepsperflg01
现在我无法在一个字段中解析非HTTP响应代码:java.net.URISyntaxException
。请帮助建立模式
这是我使用
的模式%{TIMESTAMP_ISO8601:log_timestamp} \,%{INT:经过} \,%{WORD:标签} \,%{INT:responsecode} \,%{WORD:responsemessage} \,%{WORD:成功} \ ,%{SPACE:faliusemessage} \,%{INT:字节} \,%{INT:grpThreads} \,%{INT:allThreads} \,%{INT:延迟} \,%{INT:SampleCount} \ ,%{INT:的ErrorCount} \,%{WORD:主机名}
答案 0 :(得分:0)
如果将输入和模式粘贴到grok调试器中,它会显示"编译错误"。它可能是SO problem,但您的模式中有一些奇怪的字符("< 200c>< 200b>")。
构建自定义模式的技巧是从左侧开始,一次拉出一块。有了这个,您会注意到这个部分模式有效:
%{TIMESTAMP_ISO8601:log_timestamp},%{INT:elapsed},%{WORD:label}
但是这一个返回" No Matches":
%{TIMESTAMP_ISO8601:log_timestamp},%{INT:elapsed},%{WORD:label},%{INT:responsecode}
因为你在那个位置没有整数。
继续逐个添加字段,直到您想要的所有内容都匹配。
请注意,您不必逃避逗号。