Logstash在解析日期时省略夏令时

时间:2017-07-25 15:34:55

标签: elasticsearch logstash dst

我的日志文件包含没有时区指示符的时间戳。 格式为dd-MMM-yyyy::HH:mm:ss

我的服务器位于欧洲中部,因此在时区UTC + 1,但目前使用DST导致UTC + 2。

日志文件中的日期:2017-07-25::17:30:00被解析为2017-07-25T16:30:00Z。但它应该是2017-07-25T15:30:00Z。我们现在在DST。

Logstash似乎只考虑时区而不是DST。

我该如何解决这个问题?

我的logstash配置:

date {
    match => ["logdate", "dd-MMM-yyyy::HH:mm:ss"]
    target => "@timestamp"
    remove_field => "logdate"
}

1 个答案:

答案 0 :(得分:4)

您需要指定日期所在的时区:

date {
    match => ["logdate", "dd-MMM-yyyy::HH:mm:ss"]
    target => "@timestamp"
    remove_field => "logdate"
    timezone => "Europe/Zurich"         <-- add this line
}

您可以将“Europe / Zurich”更改为whatever timezone makes sense to youother list of time zones that might be of use