取得インクリメンタルlogstash mysqlのの検証

    、買収の全体量の始まり:テーブル内のmysqlに必要な最新の需要データは、ESに同期され、分析JDBCプラグインやMySQLに取った後logstashを使用したデータは、ESへの出力は、状況は2つの方法で収集されましたインクリメンタル取得後。

検証プロセスは、以下の式を有します:

1.インストールとMySQL lonstash

MySQLとlogstashインストールはオンラインものを見つけることができる、と言うことではありません。

ノートに物事:

    1)インストールする必要があります。ビン/プラグインlogstashインストール-INPUT-JDBC

    2)https://cdn.mysql.com//Downloads/Connector-J/mysql-connector-java-5.1.48.tar.gzドライバをダウンロードしてMySQLの

2.作成mysqlのテーブルとデータ

表test.zy(登録
IDのINT、
STR VARCHAR(20) 
)。

test.zy値( '1'、 'A1')に挿入します。
test.zy値( '2'、 'A2')に挿入します。
test.zy値( '3'、 'A3')に挿入します。
test.zy値( '4'、 'A4')に挿入します。
test.zy値( '5'、 'A5')に挿入します。
test.zy値( '6'、 'A6')に挿入します。
test.zy値( '7'、 'A7')に挿入します。
test.zy値( '8'、 'A8')に挿入します。
test.zy値( '9'、 'A9')に挿入します。
test.zy値への挿入('10' 、 'A10')。
test.zy値への挿入('11' 、 'A11')。
test.zy値への挿入('12' 、 'A12')。
test.zy値への挿入('13' 、 'A13')。
test.zy値への挿入('14' 、 'A14')。
増分データ取得検証#挿入
test.zy値への挿入('15' 、 'A15')。
test.zy値への挿入('16' 、 'A16')。

3.logstash収集MySQLの設定ファイル

#根据字段增量采集
入力{ 
    JDBC { 
        jdbc_connection_stringは=> "JDBCます。mysql:// IP:3306 /テスト" 
        jdbc_user => "ルート" 
        jdbc_password => "123456" 
        jdbc_driver_library =>「のmysql-コネクタ-javaの-5.1。 36-bin.jarを" 
        jdbc_driver_class => "はcom.mysql.jdbc.Driver" 
        声明=> "ZYから選択*どこのid>:sql_last_value" 
	        use_column_value =>真
	        tracking_column => "ID" 
	        record_last_run =>真
	        last_run_metadata_path =>" /root/test.log」
	        スケジュール=> "* / 2 * * * *"
     } 
} 

出力{ 
  ファイル{ 
   パス=> "./mysql/test-%{+YYYY-MM-dd}.txt"
  } 
  ファイル{ 
} 

#コレクションのタイムスタンプインクリメント
入力{ 
    JDBC { 
        jdbc_connection_stringは=> "JDBCます。mysql:// IP:ポート/テスト" 
        jdbc_user => "ルート" 
        jdbc_password => "123456" 
        jdbc_driver_library => "のmysql-コネクタのjava-5.1.36-bin.jarを" 
        jdbc_driver_class => "はcom.mysql.jdbc.Driver" 
        jdbc_default_timezone => "アジア/上海" #设置sql_last_value记录的时间时区、不然会影响增量采集的效果
        声明=> "時間> zy1から選択*:sql_last_value" 
        use_column_value => falseを
        record_last_run =>真
        last_run_metadata_path => "/root/test.log" 
        スケジュール=> "* / 2 * * * *"
     } 
} 

出力{ 
   パス=> "./db2/test-%{+YYYY-MM-dd}.txt" 
  } 
} 

INPUTは、解析に配置された
文myqslステートメントの実行を、そしてstatementpath SQLファイルパスが続いてもよい
use_column_value  
    基準として列の値か、最後の実行の場所を記録します。
    定義され、真の、使用tracking_column列に設定した場合:。sql_last_value 
    falseに設定されていれば、その後:sql_last_valueは時間を実行している、以前のSQLを反映しています。
tracking_column増分買収はuse_colomn_valueがfalseの場合、あなたがすることができない、ライトフィールド名に基づいており
、このデータ収集の場所に記録するかどうかをrecord_last_run 
last_run_metadata_pathは場所のデータファイルのレコードを収集設定し
た周波数のスケジュールSQLスクリプトの実行を

買収を確認してください4。

    スタートlogstash

    CDは/ usr / local / logstash

    ビン/ logstash -f confに/ logtash.conf

    logstash出力ログ取得:

    image.png

   

出力ファイルの内容を見ます

image.png

sql_last_value記録

image.png

おすすめ

転載: blog.51cto.com/12182612/2452876