首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Logstash调度第一次运行

问Logstash调度第一次运行
EN

Stack Overflow用户
提问于 2019-12-07 21:54:08
回答 2查看 491关注 0票数 2

我使用下面的jdbc输入配置每5分钟运行一次logstash管道,问题是在第一次启动管道时,它也会等待5分钟,然后开始调度。有没有办法指定我们的查询/语句在logstash管道启动时立即执行,而不是等待前5分钟?

代码语言:javascript
复制
input {
  jdbc {
    jdbc_driver_class => "com.mysql.jdbc.Driver"
    jdbc_connection_string => "jdbc:mysql://${DB_HOST}/${DB_NAME}?useSSL=false"
    jdbc_user => "${DB_USER_NAME}"
    jdbc_password => "${DB_PASSWORD}"
    schedule => "*/5 * * * *"    
    statement => "Select * from students"
  }
}
EN

回答 2

Stack Overflow用户

发布于 2020-07-06 23:02:57

另一种解决方法是使用两个jdbc输入,一个用于启动,另一个用于调度。它需要一些复制/粘贴,但还不算太差。

代码语言:javascript
复制
input {
    jdbc {
        id => "index_name_startup"
        jdbc_connection_string => "${JDBC_STRING}"
        jdbc_user => "${JDBC_USER}"
        jdbc_password => "${JDBC_PASSWORD}"
        jdbc_driver_library => "/opt/logstash/postgresql-42.2.5.jre7.jar"
        jdbc_driver_class => "org.postgresql.Driver"
        add_field => { "[@metadata][project_id]" => "index_name" }
        statement_filepath => "/mnt/elastic-search-config/sql-scripts/assets-index_name.sql"
    }

    jdbc {
        id => "index_name"
        jdbc_connection_string => "${JDBC_STRING}"
        jdbc_user => "${JDBC_USER}"
        jdbc_password => "${JDBC_PASSWORD}"
        jdbc_driver_library => "/opt/logstash/postgresql-42.2.5.jre7.jar"
        jdbc_driver_class => "org.postgresql.Driver"
        add_field => { "[@metadata][project_id]" => "index_name" }
        statement_filepath => "/mnt/elastic-search-config/sql-scripts/assets-index_name.sql"
        schedule => "0 * * * *"
    }
}

filter {
    mutate {
        gsub => [
         "name", "_", " ",
         "name", "-", " "
        ]
    }
}

output {
    if [@metadata][project_id] == "index_name" {
        elasticsearch {
            index => "index_name"
            document_id => "%{geom_id}"
            hosts => "localhost:9200"
            template_name => "assets_template"
            id => "index_name_es"
        }
    }
}
票数 2
EN

Stack Overflow用户

发布于 2019-12-08 00:32:10

不,这不是jdbc调度的工作方式(这是rufus输入使用的方式)。有一个open issue,其中包含添加此功能的补丁程序的链接。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59226702

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档