我想解析常见的 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。
我做错了什么?看不到错误。