elasticsearch logstash cron计划从特定时间开始每12小时运行一次,elasticsearch,logstash,elasticsearch,Logstash" /> elasticsearch logstash cron计划从特定时间开始每12小时运行一次,elasticsearch,logstash,elasticsearch,Logstash" />

elasticsearch logstash cron计划从特定时间开始每12小时运行一次

elasticsearch logstash cron计划从特定时间开始每12小时运行一次,elasticsearch,logstash,elasticsearch,Logstash,我正在尝试0 1/12***cron表达式,但它每天只启动一次。下面是我的配置之一 input { jdbc { jdbc_connection_string => "jdbc:redshift://xxx.us-west-2.redshift.amazonaws.com:5439/xxx" jdbc_user => "xxx" jdbc_password => "xxx" jdbc_validate_co

我正在尝试
0 1/12***
cron表达式,但它每天只启动一次。下面是我的配置之一

input {
    jdbc {
        jdbc_connection_string => "jdbc:redshift://xxx.us-west-2.redshift.amazonaws.com:5439/xxx"
        jdbc_user => "xxx"
        jdbc_password => "xxx"
        jdbc_validate_connection => true
        jdbc_driver_library => "/mnt/logstash-6.0.0/RedshiftJDBC42-1.2.10.1009.jar"
        jdbc_driver_class => "com.amazon.redshift.jdbc42.Driver"
        schedule => "0 1/12 * * *" #01:00,13:00, tried from https://crontab.guru/#0_1/12_*_*_*
        statement_filepath => "conf/log_event_query.sql"
        use_column_value => true
        tracking_column => dw_insert_dt
        last_run_metadata_path => "metadata/logstash_jdbc_last_run_log_event"
    }
}
output {
    elasticsearch {
        index => "logs-ics_%{+dd_MM_YYYY}"
        document_type => "log_event"
        document_id => "%{log_entry_id}"
        hosts => [ "x.x.x.x:xxxx" ]
    }
}
我还尝试了以下
01/12?***来自,但lostash不支持此类型。
使用cron

请帮助我获得一个cron表达式,该表达式根据以下日期在logstash中工作,并且是否有一个在线页面,我可以在其中测试我未来的logstash cron表达式

1st  at 2018-08-01 01:00:00
then at 2018-08-01 13:00:00
then at 2018-08-02 01:00:00
then at 2018-08-02 13:00:00
then at 2018-08-03 01:00:00

看起来您的日程安排格式错误

要每12小时执行一次任务,您可以使用
*/12
,而不是
1/12

0 */12 * * * # Every twelve hours at minute 0 of the hour.
您的计划看起来更像是试图在1和12运行任务,但要做到这一点,您需要使用逗号,如下所示:

0 1,12 * * * # Run at one and twelve hours at minute 0.
rufus扩展还允许添加时区(如亚洲/吉隆坡),如果您需要在非默认机器时钟的特定时区上运行此功能

上面的代码没有显示您正在运行的SQL查询。查询可能正在启动,但是如果查询没有结果,您将无法在logstash中获得任何输入。在任何情况下,您的计划语法都需要从
1/12
更改为
*/12
,以执行您希望的操作

更一般地说,根据logstash jdbc输入插件文档,调度格式被认为是cron-“like”。logstash jdbc输入插件使用ruby Rufus调度器。该计划格式的文档如下所示:

Logstash 6.0 JDBC插件文档如下:


希望这有帮助。

您的亲信似乎是对的。你绝对确定Logstash一天不会出现两次吗?你是怎么调查的?@Val:我查了日志,确认它是什么时候触发的。所以我每天凌晨1点看一次触发器。