4
我想分析常見的Apache訪問日誌文件,這是這樣的:Logstash:解析Apache訪問日誌的時間戳導致解析失敗
::1 - - [02/Mar/2014:15:36:43 +0100] "GET /index.php HTTP/1.1" 200 3133
這是我的濾波部分:
grok {
match => ["message", "%{COMMONAPACHELOG}"]
}
date {
match => ["timestamp", "dd/MMM/yyyy:HH:mm:ss Z"]
}
所有字段是得到認可,但不是時間戳。控制檯上的輸出如下:
Failed parsing date from field {:field=>"timestamp", :value=>"02/Mar/2014:15:36:43 +0100", :exception=>java.lang.IllegalArgumentException: Invalid format: "02/Mar/2014:15:36:43 +0100" is malformed at "Mar/2014:15:36:43 +0100", :level=>:warn}
我已經檢查了日期過濾器的文檔。它依賴於DateTimeFormat。
我做錯了什麼?看不到錯誤。
適用於我;我得到2014-03-02T14:36:43.000Z作爲此確切輸入和配置的時間戳。您的默認區域設置是否爲非英文區域,因此您需要[設置日期過濾器的區域設置](http://logstash.net/docs/1.4.2/filters/date#locale)? – 2014-12-04 06:32:56
謝謝,工作正常。如果你想要,你可以寫這個答案,所以我可以接受它。 – tester 2014-12-04 19:08:05