官方使用logstash同步Mysql数据表到ES的摘抄
配置多个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"
}
}