Logstash 将ES数据导入数据库
Logstash 7.2.0
1、logstash-output-jdbc安装
2、问题梳理
3、conf文件
1、logstash-output-jdbc安装
/opt/logstash/bin/logstash-plugin install logstash-output-jdbc
2、问题梳理
a、日期字段格式转换问题
b、es日期与我们要的日期时差问题,日期加减
这两个问题output-jdbc确实不好解决,不过把这两问题放在filter里就比较简单了
日期字段格式转换:
date {
match => [ "timestamp" , "YYYY-MM-dd'T'HH:mm:ss.SSS'Z'" ]
timezone => "Asia/Shanghai"
target => "timestamp"
}
es日期与我们要的日期时差问题,es的日期本身差了8个小时,再上一步的转换时,又差了8个小时,所以,我们要的日期是上面的日期再加上16个小时
ruby {
code => "event.set('timestamp', event.get('timestamp').time.localtime + 16*60*60)"
}
3、conf文件
以es导入MySQL为例
input {
elasticsearch {
hosts => "hostname"
index => "ping-min-2019-11-08"
s