Logstash Grok筛选器访问日志

时间:2019-03-13 11:41:47

标签: logging logstash logstash-grok

有人可以帮助我使用我的希腊过滤器吗?

我要解析的访问日志是这个:

10.00.000.00 - - [08/Feb/2019:09:06:54 -0500] "GET /aft_ms_management_1/ms_manage HTTP/1.1" 404 1164

我正在尝试的Grok模式是:

grok { match => [ "message", "%{IP:client_ip} %{USER:ident} %{USER:auth} \[%{HTTPDATE:apache_timestamp}\] \"%{WORD:method} /%{NOTSPACE:request_page} HTTP/%{NUMBER:http_version}\" %{NUMBER:server_response} %{NUMBER:bytes}"] }

当我测试grok过滤器时,出现以下错误:

  

:error =>“带有不匹配括号的结束模式:

但是我在任何地方都看不到任何括号...感谢您的帮助

作为其他信息,我使用以下方法测试我的模式:

input { stdin { } } output { stdout { codec => rubydebug } }

filter {
    grok { 
    match => [ "message", "%{IP:client_ip} %{USER:ident} %{USER:auth} [%{HTTPDATE:apache_timestamp}] \"%{WORD:method} %{NOTSPACE:request_page} HTTP/%{NUMBER:http_version} %{NUMBER:server_response} %{NUMBER:bytes}" 
    ] 
 } }

1 个答案:

答案 0 :(得分:0)

  input { stdin {} }

filter {
   grok {
     match => { "message" => "%{IP:client_ip} %{USER:ident} %{USER:auth} \[%{HTTPDATE:apache_timestamp}\] \"%{WORD:method} /%{NOTSPACE:request_page} HTTP/%{NUMBER:http_version}\" %{NUMBER:server_response} %{NUMBER:bytes}" }
        }
}

output { stdout { codec => rubydebug } }
~

每次走!我发现了如何给更好的看法。这是我的问题..谢谢