2017-07-14 49 views
-1

我们使用Logstash从数据库读取新数据并将其发送到Elasticsearch。我们希望这种情况会定期发生,例如每分钟一次。我们如何定期启动Logstash?在Linux上做这件事的最佳做法是什么?如何定期调用Logstash?

+0

您可以使用crontab –

+0

您可以使用'jdbc'输入'schedule'参数,看到这个答案:https://stackoverflow.com/questions/37613611/multiple-inputs-on-logstash-jdbc/37613839#37613839 – Val

+0

@Val:如果你发布的答案,我会接受它。设置日程安排=>“*/1 * * * *”为我工作。 – Uros

回答

2

您可以使用jdbc输入的schedule参数。在你的情况,因为你想运行此的每一分钟,你会使用以下模式*/1 * * * *

jdbc { 
    jdbc_driver_library => "/Users/logstash/mysql-connector-java-5.1.39-bin.jar" 
    jdbc_driver_class => "com.mysql.jdbc.Driver" 
    jdbc_connection_string => "jdbc:mysql://localhost:3306/database_name" 
    jdbc_user => "root" 
    jdbc_password => "password" 
    schedule => "*/1 * * * *"    <--- schedule for running every minute 
    statement => "select * from table1" 
    type => "table1" 
    }