我的日志文件包含没有时区指示符的时间戳。
格式为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"
}

最佳答案

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

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

您可以将“欧洲/苏黎世”更改为whatever timezone makes sense to you(other list of time zones that might be of use)

关于elasticsearch - Logstash在解析日期时省去了夏令时,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45307802/

10-10 03:18