Grok表达式以解析日志数据

问题描述 投票:0回答:1

我刚刚开始将grok用于logstash,我正尝试使用grok过滤器解析下面的日志文件行。

10.210.57.60 0x756682x2 connectadmin [12 / May / 2020:00:00:00 +0530]“ GET / rest / auth / 1 / session HTTP / 1.1” 200286456“-”“ Jersey / 2.11(HttpUrlConnection 1.8.0_171)“” 1twyrho“

我对:IP:10.210.57.60 //用户:connectadmin //时间戳记:12 / May / 2020:00:00:00 +0530 //网址:/ rest / auth / 1 / session //响应代码:200

我目前对grok表达式感到困惑:%{IPV4:client_ip}%{WORD:skip_me1}%{USERNAME}通过它我可以获得IP和用户名。您能帮我继续吗?

谢谢..

logstash-grok grok
1个回答
0
投票

我已使用grok调试器https://grokdebug.herokuapp.com/获得所需的输出。以下是符合您要求的grok模式:

%{IPV4:IP} %{GREEDYDATA:girbish} %{USERNAME:user} \[%{HTTPDATE:timestamp}\] "(?:%{WORD:verb} %{NOTSPACE:request}(?: HTTP/%{NUMBER:httpversion})?|%{DATA:rawrequest})" %{NUMBER:response} (?:%{NUMBER:bytes}|-) %{GREEDYDATA:girbish}

另外,以下是使用grok模式后的最终输出的屏幕截图

screenshot1screenshot2screenshot3

注意:您可以使用logstash的突变过滤器删除不必要的字段。

© www.soinside.com 2019 - 2024. All rights reserved.