Logstash同期MysqlデータはElasticsearchになります。
1695 ワード
Logstash同期MysqlデータはElasticsearchになります。
windowsマルチファイル起動:logstash-f./conf/
Linuxマルチプロファイル起動:/usr/logstash/bin/logstash-f/usr/logstash/bin/conf/
1
、Linuxとwindowsの使い方は同じです。起動するとbinディレクトリlogstash-f mysql.com nfになります。2
、もしあなたがマルチプロファイルを起動したら、フォルダを作成する形式で起動できます。私はこのようにして、フォルダの下に複数のconfファイルを入れます。windowsマルチファイル起動:logstash-f./conf/
Linuxマルチプロファイル起動:/usr/logstash/bin/logstash-f/usr/logstash/bin/conf/
3
、配置ファイルはいろいろあります。自分で選択できます。いくつかの増分同期などがあります。また、SQLが指定されたファイルのパスを持ち出してもいいです。自分の需要を見てください。4
、文書の書き方がよくないので、スプレーしないでください。入門用に使います。私も仕事で出会ったので、簡単な例を書いて、皆さんに分かります。input {
stdin {}
jdbc {
jdbc_connection_string => "jdbc:mysql://127.0.0.1:3306?characterEncoding=utf-8&useSSL=false&serverTimezone=UTC"
jdbc_user => "root"
jdbc_password => "admin"
jdbc_driver_library => "E:\ES\mysql-connector-java-5.1.44.jar"
jdbc_driver_class => "com.mysql.jdbc.Driver"
jdbc_paging_enabled => "true"
jdbc_page_size => "50000"
# ,SQL
statement => "select * from `cybersky`.sec_user"
#
schedule => "* /5 * * * *"
type => "test888"
}
}
filter {
mutate {
#
remove_field => ["@timestamp", "@version"]
}
output {
# , , 。
if [type] == "test888" {
elasticsearch {
#ES
hosts => ["127.0.0.1:9200"]
#
index => "test888"
# ,Mysql
document_id => "%{userid}"
# mapping ,
template_overwrite => true
template => "E:\ES\logstash-7.2.0\bin\mapping\82ff424d6df14fce81900fe0ab54c5a1Mapping.json"
}
}
stdout {
codec => json_lines
}
}