是时候用 ES 拯救发际线啦

logstash+elasticsearch,时区问题

默认分类 | 作者 ie624183498 | 发布于2017年11月02日 | 阅读数:15283

最近在使用Logstash采集日志到ES中,
发现:
logstash产生的@timestamp字段总是零时区的时间,可是日志中的时间字段却是东八区的时间,然后,我就按照下图所示:

捕获.PNG

我用日志中的时间替换替换@timestamp字段,发现替换后的时间仍然是零时区的时间,然后我就又加了8个小时,发现@timestamp字段可以和日志中的时间一样了。
但是,我在按下图每天在ES中建立一个索引时

捕获123.PNG

发现,ES还是按照零时区的零点来建立索引的,而不是东八区的零点建立新的索引。这就导致,2017-11-01索引下实际存放的是2017-11-01 08:00到2017-11-02 08:00的日志数据。从而导致数据不准确。
现在的疑惑是,ES建立索引的时间是ES的自身问题还是logstash的设置问题?如何控制ES建立索引的时区问题?
想请问,有哪位前辈有对这方面有深入研究,能够解决在下的问题,不胜感激!
 
已邀请:

kennywu76 - Wood

赞同来自: laoyang360 ie624183498

我做一次搬运工 http://blog.csdn.net/wuyinggui ... 79016
 

xjj001

赞同来自:

我也遇到你的问题了,目前是用本地时间在logstash 过滤中修改了timestamp字段的值 加了8小时
date {
        match => ["timestamp","dd/MMM/yyyy:HH:mm:ss Z"]
     }
ruby {
     code => "event.timestamp.time.localtime"
     }
查询结果是和本地时间对上了,但是elast日志还是根据格林尼治时间做的切割,查询结果还是早上8点开始的 没有0-8点的日志。
你说的新增字段怎么处理。
 

要回复问题请先登录注册