【问题标题】:Grok expression to Parse Log dataGrok 表达式解析日志数据
【发布时间】:2020-05-15 11:46:33
【问题描述】:

我刚刚开始将 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 // 网址:/rest/auth/1/session // 响应码:200

我目前坚持使用 grok 表达式:%{IPV4:client_ip} %{WORD:skip_me1} %{USERNAME} 通过它我可以获得IP和用户名。你能帮我继续吗?

谢谢你..

【问题讨论】:

    标签: logstash-grok grok


    【解决方案1】:

    我使用了 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 过滤器删除不必要的字段。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-24
      • 1970-01-01
      • 1970-01-01
      • 2021-10-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多