愚者求师之过,智者从师之长。

elastic6.5.1(datetime类型从mysql导入es)

Elasticsearch | 作者 json_111 | 发布于2019年01月09日 | 阅读数:2932

如题所示,我利用logstash从mysql同步数据至es, 发现同字段es中的时间比mysql提前了5个小时,我先后在logstash的配置文件中input加入jdbc_default_timezone => "Asia/Shanghai" ,以及利用filter插件ruby更改时间戳字段,重新导入之后更仍然相差5小时,部分配置如下:
filter{
    date {
    match => ["add_time","UNIX_MS"]
    target => "@timestamp"
  }
 ruby {
   code => "event.set('timestamp', event.get('@timestamp').time.localtime - 5*60*60)"
 }
 ruby {
   code => "event.set('@timestamp',event.get('timestamp'))"
 }
 mutate {
   remove_field => ["timestamp"]
 }
}
 
目前我是暂时在导入时的sql里边处理的
请问大家知道是怎么回事吗?我该如何解决这个问题?求指导
 
已邀请:

rochy - rochy_he

赞同来自: json_111

上面代码里面的 - 5*60*60 改成 -5*60*60*1000 试试

要回复问题请先登录注册