为什么logstash写到es的时间字段比mysql差5个小时?

今天用logstash同步MySql数据到es,某表的时间字段比如create_time或者update_time,在es中比该字段均比mysql中晚5个小时。

百度一下"logstash 时间差", 几乎全部是差8个小时的,而且是es中的时间比mysql中的时间早8个小时。

后来看了看logstash的配置, jdbc连接字符串后面没加参数,可能是这个原因。

于是加了个serverTimezone=Asia/Shanghai 重置时间戳刷了一次, 果然时间差问题解决了。

#设置MySql数据库url以及数据库名称

#原来没加时区的链接字符串 #jdbc_connection_string
=> "jdbc:mysql://10.1.1.129:3306/ctscm_uat?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true"

#增加了时区的链接字符串
jdbc_connection_string => "jdbc:mysql://10.1.1.129:3306/ctscm_uat?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai"

所以,logstash的配置中mysql的链接字符串必须加时区参数。

 

posted @ 2020-08-21 15:43  gaopengpy  阅读(454)  评论(0编辑  收藏  举报