我无法为activemq日志创建grok模式:
2018-04-03 20:01:17,960 | INFO | PListStore:[/data/dccm/activeMQ/apache-activemq-5.15.3/data/localhost/tmp_storage] stopped | org.apache.activemq.store.kahadb.plist.PListStoreImpl | Thread-24
我试过这种模式:
%{TIMESTAMP_ISO8601:timestamp} \s*\|\s*%{LOGLEVEL:loglevel} | %{DATA: data}
\: *\[ %{UNIXPATH:folder} \] stopped * \| %{JAVACLASS:class} \| %{WORD:tread}
我可以获得时间戳和日志级别。我使用过这个调试器:https://grokdebug.herokuapp.com/
构建grok模式的最佳方法是从左侧开始,逐步向右移动,直到完成为止。调试“完成”模式是相反的 - 在它开始工作之前关闭它。
在您的情况下,即使这个较短的模式也不匹配:
%{TIMESTAMP_ISO8601:timestamp} \s*\|\s*%{LOGLEVEL:loglevel} | %{DATA:data}:
你现在能看得更轻松吗?是的,你没有在data
之前逃脱管道角色。
一旦你解决了这个问题,你可以继续添加部分,直到你发现folder
不匹配。这是因为在方括号内(两侧)的模式中只有一个空格。
泡沫,冲洗,重复。