環境前提:
- 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 可以執行結果查詢。