用了Elasticsearch,一口气上5T

logstash获取时间的问题

Logstash | 作者 Rubricate | 发布于2014年12月02日 | 阅读数:19380

按照官方的配置,获取时间并转换成时间格式,一直报错
date {
target => "runtime"
match => [ "timestamp" , "dd/MMM/YYYY:HH:mm:ss Z" ]
}

错误如下:
Failed parsing date from field {:field=>"timestamp", :value=>"02/Dec/2014:16:52:43 +0800", :exception=>java.lang.IllegalArgumentException: Invalid format: "02/Dec/2014:16:52:43 +0800" is malformed at "Dec/2014:16:52:43 +0800", :level=>:warn}
已邀请:

kennywu76 - Wood

赞同来自: Rubricate sky7644 lz8086 sailershen

产生这个错误的原因是系统的locale设置不是english,因此logstash用到的joda无法理解Dec这样的月份格式。

解决办法为在date filter里加一个locale=>"en"的设置:
filter {
date {
locale => "en"
..............
}
}

Rubricate - hi

赞同来自: 婚格线 lz8086 Dm

wood大神来之前,先把他答案贴出来,你们在补充
date {
target => "runtime"
locale => en
match => [ "timestamp" , "dd/MMM/YYYY:HH:mm:ss Z" ]
}

解析时间用到了时区

要回复问题请先登录注册