logstash同步数据到ES时间相差8小时问题
问题描述使用 logstash 从 mysql 同步数据到 ES。发现同步到 ES 中的新闻数据时间字段比 mysql 中的时间少8小时。问题原因logstash 默认时区是0时区,而中国是东八区。解决方法在 logstash 同步代码中加入过滤器,对时间字段加8小时处理。logstash 同步代码中加入如下代码。filter{ruby{code => "event.set('time',
·
问题描述
使用 logstash 从 mysql 同步数据到 ES。发现同步到 ES 中的新闻数据时间字段比 mysql 中的时间少8小时。
问题原因
logstash 默认时区是0时区,而中国是东八区。
解决方法
方法1:在 logstash 同步代码中加入过滤器,对时间字段加8小时处理。logstash 同步代码中加入如下代码。(我这里的情况没有得到解决)
filter{
ruby
{
code => "event.set('time', event.get('time').time.localtime + 8*60*60)"
}
}
其中【time】就是 sql 语句查询出来的字段名称,自己根据实际情况修改。
方法2:在 logstash 配置 sql 语句中,将时间字段的结果加8小时(我这里解决)
SELECT `id`,`classify`,`title`,`title_href`,DATE_ADD(`time`, INTERVAL 8 HOUR) AS `time` FROM news
更多推荐
已为社区贡献6条内容
所有评论(0)