Logstash grok过滤器:解析自定义应用程序日志

时间:2016-05-23 04:38:23

标签: logstash logstash-grok

我正在尝试使用logstash过滤器解析我的应用程序日志。日志文件内容如下所示

17 May 2016 11:45:53,391 [tomcat-http--10] INFO com.visa.vrm.aop.aspects.LoggingAspect - RTaBzeTuarf |macBook|com.visa.vrm.admin.controller.OrgController|getOrgs|1006

我正在尝试使用logstash创建仪表板(折线图),并希望在其上显示活动。例如,请求来自某个具有相关ID的服务器,并且必须查看它使用相应方法调用的类以及执行所需的时间。

消息如下:

correlation id | server-name | class name | method name | time taken
log file e.g 
RTaBzeTuarf |macBook|com.visa.vrm.admin.controller.OrgController|getOrgs|1006

我无法为上述消息创建 grok模式/过滤器。有人可以就此提出建议吗?

1 个答案:

答案 0 :(得分:1)

试试:

(?<timestamp>%{MONTHDAY} %{MONTH} %{YEAR} %{HOUR}:%{MINUTE}:%{SECOND}) \[%{NOTSPACE:thread}\] %{LOGLEVEL:loglevel} (?<logger>[A-Za-z0-9$_.]+) - %{GREEDYDATA:correlationId}\|%{GREEDYDATA:servername}\|%{GREEDYDATA:className}\|%{GREEDYDATA:methodName}\|%{NUMBER:time}$