Logstash 使用时区解析日期
我正在尝试将以下日期与logstash匹配:Logstash 使用时区解析日期,logstash,logstash-configuration,Logstash,Logstash Configuration,我正在尝试将以下日期与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 A
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
?这是JODA(Logstash使用的)的一个已知问题,它无法解析时区名称,在你的例子中,它是BST(时区名称)
参考链接:-
要解决此问题,可以用时区偏移量替换时区名称。
您可以将BST更改为等效偏移量,例如+0100
为此,请将以下内容添加到日志存储配置文件中:
mutate {
gsub => ["report_time", "BST", "+0100"]
}
它将替换为以下内容:
date {
match => ["report_time", "EEE MMM dd HH:mm:ss z yyyy"]
target => "@timestamp"
}
“消息”=>“英国夏令时2016年4月7日星期四13:09:40”
“report_time”=>“Thu Apr 07 13:09:40+0100 2016”这是JODA(Logstash使用)的一个已知问题,它无法解析时区名称,在您的情况下是BST(时区名称) 参考链接:- 要解决此问题,可以用时区偏移量替换时区名称。 您可以将BST更改为等效偏移量,例如+0100 为此,请将以下内容添加到日志存储配置文件中:
mutate {
gsub => ["report_time", "BST", "+0100"]
}
它将替换为以下内容:
date {
match => ["report_time", "EEE MMM dd HH:mm:ss z yyyy"]
target => "@timestamp"
}
“消息”=>“英国夏令时2016年4月7日星期四13:09:40”
“报告时间”=>“2016年4月7日星期四13:09:40+0100”