带有多个表的Logstash jdbc输入插件

时间:2016-02-01 20:39:12

标签: logstash logstash-configuration

我们正在使用Logstash将数据从RDBMS获取到弹性搜索中。目前我有多个配置文件,每个配置文件对我们要索引的每个表都有一个查询。虽然这似乎工作得很好,但还有更好的方法。

注意:我们无法使用存储过程。

1 个答案:

答案 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" ]
    }
  }
}