You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Logstash Elasticsearch输入schedule的时区与时间来源咨询

Logstash Elasticsearch输入调度问题解答

问题1:schedule的时间读取来源

Logstash的schedule配置读取的是运行Logstash进程的服务器本地系统时间,调度逻辑完全在Logstash端执行,和Elasticsearch服务器的时间无关。

问题2:调度使用的时区

默认情况下,Logstash的cron调度使用Logstash进程所在服务器的本地时区。如果需要指定特定时区,可以在Elasticsearch输入配置中添加timezone参数,示例:

elasticsearch {
    # 其他配置...
    schedule => "*/5 17 * * *"
    timezone => "Asia/Shanghai" # 指定目标时区
}

关于调度不生效的排查提示

你配置的*/5 17 * * *表示每天17点整开始,每5分钟执行一次。如果该规则未生效,大概率是Logstash服务器的本地时区和你预期的不一致,导致实际触发时间偏离预期的17点。可以先检查Logstash服务器的系统时区,再根据需要调整schedule规则或添加timezone参数。

格式化后的完整配置

input{
    elasticsearch {
        hosts => "ip:9200"
        index => "indexname"
        user => "user"
        password => "elastic"
        query => '{ "query": { "query_string": { "query": "*" } } }'
        schedule => "*/5 17 * * *"   # 查询执行频率:每天17点每5分钟一次
        size => 1500   # 单次查询最大获取文档数
        scroll => "5m" # Elasticsearch搜索上下文保留时长
        docinfo => true
    }
}
filter {}

output {
    if "API_REQUEST" in [message] {
        jdbc {
            driver_jar_path => '/usr/share/logstash/vendor/jar/jdbc/mssql-jdbc-12.2.0.jre8.jar'
            connection_string => "jdbc:sqlserver://ip:1433;databaseName=izdb;user=user;password=pass;ssl=false;trustServerCertificate=true"
            enable_event_as_json_keyword => true
            statement => [
                "INSERT INTO Transaction (document_id, logLevel, timestamp) VALUES (?,?,?)",
                "document_id",
                "logLevel",
                "timestamp"
            ]
        }
    }
}

内容的提问来源于stack exchange,提问作者Ali farahzadi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 19:00:11