logstash+jdbcデータ同期+head展示問題
1872 ワード
問題にぶつかる head UIは1つのデータしか表示されず、インデックスはフィルタできません.理由:document_id=>"%{user_id}"のuser_idリファレンスチュートリアル未変更-解決:自分のプライマリ・キーからオブジェクトの%{自分のテーブルのプライマリ・キー}-後続:複数のテーブルの同期であればどうしますか? 同期時sql_last_valueはずっと0で、logstashを表示します.jdbc_last_runも確かに0-理由:use_column_value=>falseはデフォルトですが、チュートリアルを参照してtrueに設定されています.解決:use_をマスクします.column_value=> true 同期ファイルの例:
input{
jdbc {
# jdbc_driver_library => "mysql-connector-java-5.1.44-bin.jar"
#
jdbc_driver_library => "/usr/local/soft/logstash-input-jdbc-master/lib/mysqljdbc-5.1.18.jar"
jdbc_driver_class => "com.mysql.jdbc.Driver"
jdbc_connection_string => "jdbc:mysql://172.16.0.178:3308/mtp_dev"
jdbc_user => "mtp_dev"
jdbc_password => "mtp_dev"
jdbc_paging_enabled => "true"
jdbc_page_size => "1000"
jdbc_default_timezone =>"Asia/Shanghai"
schedule => "* * * * *"
statement => "SELECT * FROM user_sys_user where latest_time > :sql_last_value"
# record_last_run => true
# use_column_value=> false
tracking_column => "latest_time"
last_run_metadata_path => "./logstash_jdbc_last_run"
clean_run => "false"
}
}
output{
elasticsearch {
hosts => "172.16.0.94:9200"
user => "elastic"
password => "changme"
index => "sys_user"
document_id => "%{user_id}"
}
stdout {
codec => json_lines
}
}