sync-pipeline.conf 934 B

1234567891011121314151617181920212223242526272829
  1. input {
  2. jdbc {
  3. jdbc_driver_library => "/rdbc/mysql-connector-java-8.0.19.jar"
  4. jdbc_driver_class => "com.mysql.cj.jdbc.Driver"
  5. jdbc_connection_string => "jdbc:mysql://mysql:3306/blog"
  6. jdbc_user => "blog"
  7. jdbc_password => "blog"
  8. jdbc_paging_enabled => true
  9. tracking_column => "unix_ts_in_secs"
  10. use_column_value => true
  11. tracking_column_type => "numeric"
  12. schedule => "*/5 * * * * *"
  13. statement => "SELECT *, UNIX_TIMESTAMP(modification_time) AS unix_ts_in_secs FROM articles WHERE (UNIX_TIMESTAMP(modification_time) > :sql_last_value AND modification_time < NOW()) ORDER BY modification_time ASC"
  14. }
  15. }
  16. filter {
  17. mutate {
  18. copy => { "id" => "[@metadata][_id]"}
  19. remove_field => ["id", "@version", "unix_ts_in_secs"]
  20. }
  21. }
  22. output {
  23. # stdout { codec => "rubydebug"}
  24. elasticsearch {
  25. hosts => ["es:9200"]
  26. index => "articles"
  27. document_id => "%{[@metadata][_id]}"
  28. }
  29. }