如何保持Logstash运行,以便将数据从我的RDBMS同步到ES?

时间:2016-07-28 08:45:44

标签: jdbc elasticsearch logstash

我是ELK堆栈的全新手,所以请原谅我的无知。我已经能够让Logstash将数据从我的数据库发送到Elasticsearch,但是一旦完成传输它就会退出。如何让它保持运行以使它们保持同步?感谢

1 个答案:

答案 0 :(得分:2)

您需要在jdbc输入中指定schedule

下面的schedule* * * * *)将每分钟运行并从数据库中选择记录,并仅选择上次查询运行后已更新的记录。您的updated时间戳字段的名称可能不同,请随意调整以适合您的情况。

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 => { "some_field" => "value" }
    schedule => "* * * * *"
    statement => "SELECT * from songs WHERE some_field = :some_field AND updated > :sql_last_value"
  }
}