Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Logstash tidak membaca entri baru dari MySQL

Secara default, plugin logstash-input-jdbc akan menjalankan pernyataan SELECT Anda sekali dan kemudian keluar. Anda dapat mengubah perilaku ini dengan menambahkan schedule parameter dengan ekspresi cron ke konfigurasi Anda, seperti ini:

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"
 }
}

Hasilnya adalah pernyataan SELECT sekarang akan berjalan setiap menit.

Jika Anda memiliki bidang tanggal di tabel MySQL Anda (tetapi tampaknya tidak demikian), Anda juga dapat menggunakan sql_last_start yang telah ditentukan sebelumnya parameter agar tidak mengindeks ulang semua catatan pada setiap proses. Parameter itu dapat digunakan dalam kueri Anda seperti ini:

   statement => "SELECT * FROM transport.audit WHERE your_date_field >= :sql_last_start"



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. T_BOOLEAN_AND kesalahan?

  2. mysqlfailover:Tidak ada modul bernama mysql.utilities.common.tools

  3. Ulangi penyisipan Query di PHP

  4. MySQL Many-To-Many Select

  5. Grup MySQL oleh dan maks mengembalikan baris yang salah