elasticsearch logstash jdbc 配置 增量更新
环境前提:
- centos 6.5 x64
- jdk 1.8
- elasticsearch 6.1.4
- logstash 6.1.4
- kibana 6.1.4
- mysql 5.x
保证上面软件已经安装,并且正常启动。
1.配置logstash 脚本
1 input {
2 jdbc {
3 jdbc_driver_library => "/home/elastic/mysql-connector-java-5.1.30.jar"
4 jdbc_driver_class => "com.mysql.jdbc.Driver"
5 jdbc_connection_string => "jdbc:mysql://localhost:3306/myes"
6 jdbc_user => "root"
7 jdbc_password => "gaofeng****"
8 schedule => "*/2 * * * *"
9 use_column_value => false
10 tracking_column => "update_date"
11 statement => "SELECT * from app_stat where update_date > :sql_last_value"
12 }
13 }
14
15
16 output{
17
18 elasticsearch {
19 hosts => ["127.0.0.1:9200"]
20 index => "myes"
21 }
22
23 stdout {
24 codec => json_lines
25 }
26 }
sql_last_value 用于记录上一次同步的时间,每次执行 都会更新。
use_column_value 如果设置true 每次运行的时间 sql_last_value 值不会变化 。
每2分钟执行,用于测试看到结果。
表结构如下:
2.启动运行
./logstash -f /home/elastic/datasource/jdbc-logstash-0416-update.cfg
在mysql终端插入数据。
数据执行同步。
3.查看结果
打开kibana 可以执行结果查询。