官方使用logstash同步Mysql数据表到ES的摘抄

官方文档地址:https://www.elastic.co/guide/en/logstash/current/plugins-inputs-jdbc.html#plugins-inputs-jdbc-jdbc_driver_library

配置多个SQL语句编辑

当需要从不同的数据库表或视图中查询和提取数据时,配置多个SQL语句很有用。可以为每个语句定义单独的Logstash配置文件,或者在一个配置文件中定义多个语句。在单个Logstash配置文件中使用多个语句时,必须将每个语句定义为单独的jdbc输入(包括jdbc驱动程序,连接字符串和其他必需的参数)。

请注意,如果任何语句使用sql_last_value参数(例如,仅提取自上次运行以来更改的数据),则每个输入都应定义自己的 last_run_metadata_path参数。否则,将导致不良行为,因为所有输入都会将其状态存储到同一(默认)元数据文件中,从而有效覆盖彼此的sql_last_value。

1.在当前路径中放置适当的JDBC驱动程序库(可以将其放置在文件系统上的任何位置)
2.使用用户mysql连接到mydb数据库
3.在songs 表中输入与特定艺术家匹配的所有行
4.每分钟在每分钟执行一次此输入语句

input {
  jdbc {
    jdbc_driver_library => "mysql-connector-java-5.1.36-bin.jar"
    jdbc_driver_class => "com.mysql.jdbc.Driver"
    jdbc_connection_string => "jdbc:mysql://localhost:3306/mydb"
    jdbc_user => "mysql"
    parameters => { "favorite_artist" => "Beethoven" }
    schedule => "* * * * *"
    statement => "SELECT * from songs where artist = :favorite_artist"
  }
}
原文地址:https://www.cnblogs.com/sanduzxcvbnm/p/12867834.html