解析日志数据的 Grok 表达式
Grok expression to Parse Log data
我刚刚开始将 grok 用于 logstash,我正在尝试使用 grok 过滤器解析下面的日志文件行。
10.210.57.60 0x756682x2 connectadmin [12/May/2020:00:00:00 +0530] "GET /rest/auth/1/session HTTP/1.1" 200 286 456 "-" "Jersey/2.11 (HttpUrlConnection 1.8.0_171)" "1twyrho "
我感兴趣的是:
IP : 10.210.57.60 //
用户:连接管理员//
时间戳:12/May/2020:00:00:00 +0530 //
URL : /rest/auth/1/session //
响应码:200
我目前被 grok 表达式困住了:%{IPV4:client_ip} %{WORD:skip_me1} %{USERNAME}
通过它我可以获得IP和用户名。你能帮我继续吗?
谢谢..
我已使用 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模式后的最终输出截图
注意:您可以使用 logstash 的 mutate 过滤器删除不需要的字段。
我刚刚开始将 grok 用于 logstash,我正在尝试使用 grok 过滤器解析下面的日志文件行。
10.210.57.60 0x756682x2 connectadmin [12/May/2020:00:00:00 +0530] "GET /rest/auth/1/session HTTP/1.1" 200 286 456 "-" "Jersey/2.11 (HttpUrlConnection 1.8.0_171)" "1twyrho "
我感兴趣的是: IP : 10.210.57.60 // 用户:连接管理员// 时间戳:12/May/2020:00:00:00 +0530 // URL : /rest/auth/1/session // 响应码:200
我目前被 grok 表达式困住了:%{IPV4:client_ip} %{WORD:skip_me1} %{USERNAME} 通过它我可以获得IP和用户名。你能帮我继续吗?
谢谢..
我已使用 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模式后的最终输出截图
注意:您可以使用 logstash 的 mutate 过滤器删除不需要的字段。