elasticsearch 使用Logstash JDBC输入插件动态连接到多个数据库
我使用LogstashJDBC输入插件从数据库中读取数据并将其索引到弹性搜索中。 我为每个客户都有单独的数据库,我想一个接一个地动态连接到它们以获取数据 JDBC Input Plugin或Logstash中是否有连接到多个数据库的规定或参数? 例如
elasticsearch 使用Logstash JDBC输入插件动态连接到多个数据库,
elasticsearch,logstash,logstash-jdbc,
elasticsearch,Logstash,Logstash Jdbc,我使用LogstashJDBC输入插件从数据库中读取数据并将其索引到弹性搜索中。 我为每个客户都有单独的数据库,我想一个接一个地动态连接到它们以获取数据 JDBC Input Plugin或Logstash中是否有连接到多个数据库的规定或参数? 例如 input { jdbc { jdbc_driver_library => "mysql-connector-java-5.1.36-bin.jar" jdbc_driver_class => "com.mysql.
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"
//MYDB will be set dynamically.
jdbc_user => "mysql"
parameters => { "favorite_artist" => "Beethoven" }
schedule => "* * * * *"
statement => "SELECT * from songs where artist = :favorite_artist"
}
}
我能想到的唯一解决方案是编写脚本来更新logstash config,以便逐个连接到指定的数据库并运行logstash。让我更新这个-
出于同样的目的,我使用了两个输入JDBC部分,但只考虑了第一部分
input {
jdbc {
jdbc_connection_string => "XXXX"
jdbc_user => "XXXX"
jdbc_password => "XXXX"
statement => "select * from product"
jdbc_driver_library => "/usr/share/logstash/ojdbc7.jar"
jdbc_driver_class => "Java::oracle.jdbc.driver.OracleDriver"
}
jdbc {
jdbc_connection_string => "YYYY"
jdbc_user => "YYYYY"
jdbc_password => "YYYY"
statement => "select * from product"
jdbc_driver_library => "/usr/share/logstash/ojdbc7.jar"
jdbc_driver_class => "Java::oracle.jdbc.driver.OracleDriver"
}
}
output {
elasticsearch {
hosts => "localhost:9200"
user => "XXX"
password => "XXXX"
index => "XXXX"
document_type => "XXXX"
}
}
--也许最简单的方法是使用多个jdbc输入。您有多少客户?大约500个客户数据库服务器详细信息存储在一个中央数据库中。@ni3ns您找到解决方案了吗?我有同样的问题陈述。