window10環境下
1.中間工具:
JDK,JDBC,Logstash,ElasticSearch
JDBC:https://download.microsoft.com/download/3/7/9/379E727A-58F5-45E6-9D45-95D593399F93/sqljdbc_6.2.2.1_chs.exe
Logstash:https://artifacts.elastic.co/downloads/logstash/logstash-7.7.0.zip
ElasticSearch:官網下址https://www.elastic.co/cn/
2.JDK,JDBC,ElasticSearch安裝
略過
3.Logstash安裝與配置:jdbc.conf配置
input {
jdbc {
jdbc_driver_library => "D:\logstash-7.7.0\bin\jdbcconfig\mssql-jdbc-6.2.2.jre8.jar"
jdbc_driver_class => "com.microsoft.sqlserver.jdbc.SQLServerDriver"
jdbc_connection_string => "jdbc:sqlserver://192.168.0.135:1433;DatabaseName=test1;"
jdbc_user => "sa"
jdbc_password => "123456"
# schedule => 分 時 天 月 年
# schedule => * 22 * * * //will execute at 22:00 every day
schedule => "* * * * *"
jdbc_paging_enabled => true
jdbc_page_size => 1000
clean_run => false
use_column_value => true
#設置查詢條件的字段
tracking_column => FID
record_last_run => true
last_run_metadata_path => "D:\logstash-7.7.0\bin\jdbcconfig\FID.txt"
#設置列名小寫
lowercase_column_names => false
statement_filepath => "D:\logstash-7.7.0\bin\jdbcconfig\Load_User.sql"
#索引的類型
type => "advancelist"
}
}
output {
elasticsearch {
hosts => ["192.168.0.238:9200"]
index => "advancelist"
document_id => "%{FID}"
}
stdout {
#codec => json_lines
#設置輸出的格式
codec => line {
format => "FID: %{[FID]} FPersonName: %{[name]} FAddTime: %{[sex]}"
}
}
}
4.運行:cmd
.\logstash -f .\jdbcconfig\jdbc.conf --path.data=/jdbcconfig/
5.測試:延時在30秒左右
6.監控sql日志來做數據同步,是做主從,或異步查詢常用的方案,附測試使用過的Logstash: