デフォルトでは、logstash-input-jdbcプラグインはSELECTステートメントを1回実行してから、終了します。この動作を変更するには、<を追加します。 code>スケジュール パラメータ 次のように、構成にcron式を使用します:
input {
jdbc {
jdbc_driver_library => "C:/logstash/lib/mysql-connector-java-5.1.37-bin.jar"
jdbc_driver_class => "com.mysql.jdbc.Driver"
jdbc_connection_string => "jdbc:mysql://127.0.0.1:3306/test"
jdbc_user => "root"
jdbc_password => ""
statement => "SELECT * FROM transport.audit"
schedule => "* * * * *" <----- add this line
jdbc_paging_enabled => "true"
jdbc_page_size => "50000"
}
}
その結果、SELECTステートメントが毎分実行されるようになります。
MySQLテーブルに日付フィールドがある場合(ただし、そうではないようです)、事前定義された sql_last_start
を使用することもできます。 実行ごとにすべてのレコードのインデックスを再作成しないようにするためのパラメータ。このパラメータは、次のようにクエリで使用できます。
statement => "SELECT * FROM transport.audit WHERE your_date_field >= :sql_last_start"