我是ELK
和logstash
的新用户,并且我尝试使用grok
提取以下日志,但未成功。
这是我的日志:
08-14 10:22:50.863 1419 1419 D GpsNetInitiatedHandler: location enabled :false
我想这样提取:
答案 0 :(得分:0)
我建议在grok调试器上测试模式,我喜欢使用这一模式,但是有很多: http://grokconstructor.appspot.com/do/match
您可以为日志条目执行的操作是为时间戳创建一个custom pattern,或者如果您想进一步拆分时间戳,则可以查看default grok patterns的时间/日期< / p>
例如,使用grok debugger,将日志条目复制粘贴到第一个框中,在该框中您要放置要匹配的日志行。
然后我想出了一个时间戳模式放入第3个框中,因为我不认为有一个默认模式会与日志条目匹配(但是如果有人知道默认模式可以更正我)并命名为时间戳:
TIMESTAMP \d\d-\d\d \d\d:\d\d:\d\d.\d\d\d
现在,我使用自定义的TIMESTAMP模式和一些常用的默认模式创建了一个最终的grok模式,并将其放入第二个框中:
%{TIMESTAMP:timestamp} %{NOTSPACE:id1} %{NOTSPACE:id2} %{NOTSPACE:log-level} %{GREEDYDATA:message}
点击“开始!”按钮,我们现在可以获取您想要的输出(如果需要,您可以更改id1和id2的名称)
如果一切看起来不错,只需按照logstash文档创建自定义模式,并在grok过滤器中使用最终的grok模式,一切都会正常工作