使用grok提取android日志数据

时间:2019-08-27 08:46:39

标签: android grok elk

我是ELKlogstash的新用户,并且我尝试使用grok提取以下日志,但未成功。

这是我的日志: 08-14 10:22:50.863 1419 1419 D GpsNetInitiatedHandler: location enabled :false

我想这样提取:

  • 时间戳:08-14 10:22:50.863
  • 不重要的1:1419
  • 不重要2:1419
  • 日志级别:D
  • 消息:GpsNetInitiatedHandler:启用位置:false

1 个答案:

答案 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的名称)  enter image description here

如果一切看起来不错,只需按照logstash文档创建自定义模式,并在grok过滤器中使用最终的grok模式,一切都会正常工作