最近在使用Logstash采集日志到ES中,
发现:
logstash产生的@timestamp字段总是零时区的时间,可是日志中的时间字段却是东八区的时间,然后,我就按照下图所示:
我用日志中的时间替换替换@timestamp字段,发现替换后的时间仍然是零时区的时间,然后我就又加了8个小时,发现@timestamp字段可以和日志中的时间一样了。
但是,我在按下图每天在ES中建立一个索引时
发现,ES还是按照零时区的零点来建立索引的,而不是东八区的零点建立新的索引。这就导致,2017-11-01索引下实际存放的是2017-11-01 08:00到2017-11-02 08:00的日志数据。从而导致数据不准确。
现在的疑惑是,ES建立索引的时间是ES的自身问题还是logstash的设置问题?如何控制ES建立索引的时区问题?
想请问,有哪位前辈有对这方面有深入研究,能够解决在下的问题,不胜感激!
发现:
logstash产生的@timestamp字段总是零时区的时间,可是日志中的时间字段却是东八区的时间,然后,我就按照下图所示:
我用日志中的时间替换替换@timestamp字段,发现替换后的时间仍然是零时区的时间,然后我就又加了8个小时,发现@timestamp字段可以和日志中的时间一样了。
但是,我在按下图每天在ES中建立一个索引时
发现,ES还是按照零时区的零点来建立索引的,而不是东八区的零点建立新的索引。这就导致,2017-11-01索引下实际存放的是2017-11-01 08:00到2017-11-02 08:00的日志数据。从而导致数据不准确。
现在的疑惑是,ES建立索引的时间是ES的自身问题还是logstash的设置问题?如何控制ES建立索引的时区问题?
想请问,有哪位前辈有对这方面有深入研究,能够解决在下的问题,不胜感激!
2 个回复
kennywu76 - Wood
赞同来自: laoyang360 、ie624183498
xjj001
赞同来自:
date {
match => ["timestamp","dd/MMM/yyyy:HH:mm:ss Z"]
}
ruby {
code => "event.timestamp.time.localtime"
}
查询结果是和本地时间对上了,但是elast日志还是根据格林尼治时间做的切割,查询结果还是早上8点开始的 没有0-8点的日志。
你说的新增字段怎么处理。