logstash时间表-是否可以延长时间,使时间表不会在每分钟的第二秒开始?

时间:2019-07-18 18:48:20

标签: elasticsearch logstash

一个简单的问题,也许有一个复杂的答案?我有几个使用JDBC插件在同一主机上运行的logstash Docker容器。他们每个人每分钟都在工作。例如:

input {
    jdbc {
        jdbc_driver_library => "/usr/share/logstash/bin/mysql-connector-java-8.0.15.jar"
        jdbc_driver_class => "com.mysql.cj.jdbc.Driver"
        # useCursorFetch needed cause jdbc_fetch_size not working??
        # https://discuss.elastic.co/t/logstash-jdbc-plugin/84874/2
        # https://stackoverflow.com/a/10772407
        jdbc_connection_string => "jdbc:mysql://${CP_LS_SQL_HOST}:${CP_LS_SQL_PORT}/${CP_LS_SQL_DB}?useCursorFetch=true&autoReconnect=true&failOverReadOnly=false&maxReconnects=10"
        statement => "select * from view_elastic_popularity_scores_all where updated_at > :sql_last_value"
        jdbc_user => "${CP_LS_SQL_USER}"
        jdbc_password => "${CP_LS_SQL_PASSWORD}"
        jdbc_fetch_size => "${CP_LS_FETCH_SIZE}"
        last_run_metadata_path => "/usr/share/logstash/codepen/last_run_files/last_run_popularity_scores_live"
        jdbc_page_size => '10000'
        use_column_value => true
        tracking_column => 'updated_at'
        tracking_column_type => 'timestamp'
        schedule => "* * * * *"
    }
}

通知时间表是* * * * *吗?这就是症结所在。我有一个通常每分钟空闲50秒的盒子,然后它工作了x秒钟以处理所有10个logstash容器的数据。令人惊讶的是,如果我能找到一种方法来延长时间,以使10个容器按独立的时间表工作,可以相差x秒。

这只是一个梦吗?喜欢世界和平,还是远离我的孩子?

谢谢

1 个答案:

答案 0 :(得分:1)

我相信rufus cronlines(这是schedule选项)可以指定秒数。

'13 0 22 * * 1-5'表示一周中的每天22:00:13