LogStash如何通过jdbc 从mysql导入elasticsearch

input {
    stdin {
    }
    jdbc {
      # mysql jdbc connection string to our backup databse
      jdbc_connection_string => "jdbc:mysql://localhost:3306/userdb?useUnicode=true&characterEncoding=utf-8&useSSL=false"
      # the user we wish to excute our statement as
      jdbc_user => "user"
      jdbc_password => "pass"
      # the path to our downloaded jdbc driver
      jdbc_driver_library => "mysql-connector-java-5.1.40-bin.jar"
      # the name of the driver class for mysql
      jdbc_driver_class => "com.mysql.jdbc.Driver"
      jdbc_paging_enabled => "true"
      jdbc_page_size => "50000"
      statement_filepath => "mysqltestsql.sql"
      schedule => "* * * * *"
      type => "jdbc"
      use_column_value => true
      tracking_column => id
      last_run_metadata_path => "C:logstash-5.2.0inlast_run_metadata_pathlast_run_metadata_path"
    }
}

filter {
    json {
        source => "message"
        remove_field => ["message","_id"]
    }
}

output {  
    elasticsearch {
        action => "index"
        hosts => ["http://localhost:9200"] 

        index => "mysqltestdb2"
        #index => "user"
        workers => 1
    }
     #stdout {
         #codec => rubydebug
         #codec => json_lines
     #}
}

 mysqltestsql.sql

select id, name from userinfo WHERE id > :sql_last_value
原文地址:https://www.cnblogs.com/haoliansheng/p/6497870.html