我正在尝试将以下日期与logstash匹配:
Thu Apr 07 13:09:40 BST 2016
使用以下内容:
date {
match => ["report_time", "EEE MMM dd HH:mm:ss z yyyy"]
target => "@timestamp"
}
但是这会导致以下错误:
Failed parsing date from field {:field=>"report_time",
:value=>"Thu Apr 07 13:08:03 BST 2016",
:exception=>"Invalid format: \"Thu Apr 07 13:08:03 BST 2016\"
is malformed at \"BST 2016\"", :config_parsers=>"EEE MMM dd HH:mm:ss z yyyy",
:config_locale=>"default=en_US", :level=>:warn}
我认为导致此问题的z
部分,有人可以解释我如何解析时区,BST
?
答案 0 :(得分:0)
这是JODA的一个已知问题(由Logstash使用),它无法解析时区名称,在您的情况下是BST。 (时区名称)
要解决此问题,您可以使用时区偏移替换时区名称。 您可以将BST更改为等效的偏移量,例如+0100。
为此,请将以下内容添加到logstash配置文件中:
mutate {
gsub => ["report_time", "BST", "+0100"]
}
它将取代如下:
"消息" => " Thu Apr 07 13:09:40 BST 2016",
" report_time" = GT; " Thu Apr 07 13:09:40 +0100 2016",