2017-05-24 139 views
0

我對logstash很新,所以這可能是一個簡單的錯誤,但我無法找到我的錯誤在哪裏。我已經安裝了logstash,我試圖解析一些自定義java程序生成的日誌。我在尋找一個非常具體線路:logstash grok解析錯誤日期格式

ERROR ProcessStatus 05/24/2017 12:13:58 RETC:0 : Request.evaluate:PDP Response decision: Permit 
ERROR ProcessStatus 05/24/2017 12:13:58 RETC:0 : Request.evaluate:PDP Response decision: NotApplicable 

我已經定義了以下配置文件:

input { 
    file { 
     type => "log" 
     path => [ "/var/log/tomcat7/catalina.out" ] 
    } 
} 

filter { 
    grok { 
     match => [ "message" , "%{WORD:text1} %{WORD:text2} \[%{DATA:date}\] %{WORD:text3}:%{NUMBER:num1} : %{WORD:text4}.%{WORD:text5}:%{WORD:text6} %{WORD:text7} %{WORD:text8} %{WORD:decision}"] 
     remove_field => [ "message" ] 
    } 
    date { 
     match => [ "timestamp", "MM/dd/YYYY HH:mm:ss" ] 
     remove_field => [ "timestamp" ] 
    } 
} 

output { 
    stdout { 
    codec => rubydebug 
    } 
} 

當線路在日誌文件中收到我得到一個解析錯誤:

{ 
      "path" => "/var/log/tomcat7/catalina.out", 
    "@timestamp" => 2017-05-24T14:31:18.494Z, 
     "@version" => "1", 
      "host" => "acio-web01", 
     "message" => "ERROR ProcessStatus 05/24/2017 16:31:17 RETC:0 : Request.evaluate:PDP Response decision: Indeterminate", 
      "type" => "log", 
      "tags" => [ 
     [0] "_grokparsefailure" 
    ] 
} 

我懷疑解析錯誤有什麼可以看到的日期格式,但我還沒有找到一個正確的方式來定義它。任何想法我做錯了什麼?

回答

1

您的grok模式與您的數據不符。在它顯示的消息中,日期周圍沒有[],但您的模式假定有。

您可以將您的日誌行和模式粘貼到https://grokdebug.herokuapp.com/並與其一起玩,直到它匹配。