Logstash同期MysqlデータはElasticsearchになります。


Logstash同期MysqlデータはElasticsearchになります。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
	}
}