环境:winserver2016,elk7.2,sqlserver2017,采集sqlserver 30多个表的全部记录,用于全文检索,所以一个索引下有几十个列名不同的日期字段datetime类型
最终存在es的记录上所有datetime,时间都减了8个小时,在kibana里查询2017-03-15,会出现2017-3-16的记录,在logstash导入遇到到特定几个夏令时时间时还会报错
错误信息:logstash.inputs.jdbc
exception when executing jdbc query
illegal instant due to time zone offset transition (daylight savings time 'gap') 1989-4-16T00:00:000 [Asia/Shanghai]
大概意思就是时区偏移转换产生的非法错误,应该是logstash的input从sqlserver查询采集数据就开始出现时区问题了,所以改filter过滤插件应该是解决不了
所以先从源头查看,本机winserver2016,时区设置正常+8北京时间没问题
在配置input{jdbc{}}是已经增加了
jdbc_default_timezone => "Asia/Shanghai"
问题是没解决的,查询到老版本的logstash可以改配置 timestamp.rb文件来改
然后找提示的路径:
/logstash/vendor/bundle/jruby/1.9/gems/logstash-core-2.1.0-java/lib/logstash/timestamp.rb
emmmmmm 这个路径在7