【问题标题】:Logstash jdbc input plugin with multiple tables具有多个表的 Logstash jdbc 输入插件
【发布时间】:2016-02-01 20:39:11
【问题描述】:

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

注意:我们不能使用存储过程。

【问题讨论】:

    标签: logstash logstash-configuration


    【解决方案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" ]
        }
      }
    }
    

    【讨论】:

    • 我没有尝试过这个,但我认为像 GNU m4 这样的预处理器可能是一个很好的解决方案。
    猜你喜欢
    • 1970-01-01
    • 2019-07-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-06
    • 1970-01-01
    相关资源
    最近更新 更多