我们正在使用Logstash将数据从RDBMS获取到弹性搜索中。目前我有多个配置文件,每个配置文件对我们要索引的每个表都有一个查询。虽然这似乎工作得很好,但还有更好的方法。
注意:我们无法使用存储过程。
答案 0 :(得分:1)
您可以在一个配置中使用多个输入插件(相同类型) - 例如
input {
jdbc {
jdbc_driver_library => "mysql-connector-java-5.1.15.jar"
... remaining config ...
statement => "SELECT * FROM t1;"
type => "score-history"
}
}
jdbc {
jdbc_driver_library => "mysql-connector-java-5.1.15.jar"
... remaining config ...
statement => "SELECT * from table2"
type => "score"
}
}
我担心没有办法在两个插件之间共享连接字符串以及其他配置选项。其余的处理可能会有所不同,具体取决于输入插件中设置的类型 - 例如
filter{
if [type] == "score-history" {
date {
match => [ "sctimestamp", "UNIX" ]
}
}
}