Logstash JDBC Muliple Instances - PullRequest
       29

Logstash JDBC Muliple Instances

0 голосов
/ 17 октября 2019

Мое требование - получать обновленные / новые записи из таблицы. Я использовал sql_last_value, чтобы получить последние записи. Я хочу запустить logstash в нескольких случаях, чтобы избежать сбоев ОС / оборудования и получать постоянные обновления. Но sql_last_value обновляется в каждом экземпляре отдельно, что вызывает дублирование данных или один и тот же запрос, выполняемый несколько раз с одной и той же отметкой времени. Кто-нибудь пытался прочитать sql_last_value из централизованного расположения для нескольких экземпляров, чтобы избежать избыточных запросов к БД?

Я использовал следующий вход JDBC:

input {
  jdbc {
    jdbc_connection_string => ""    
    jdbc_user => ""
    jdbc_password => ""
    # The path to downloaded jdbc driver
    jdbc_driver_library => "/app/logstash/jdbc/ojdbc6.jar"
    jdbc_driver_class => "Java::oracle.jdbc.driver.OracleDriver"
    # The path to the file containing the query
    statement => "SELECT * FROM TEST1 WHERE modifyts > :sql_last_value"
    schedule => "*/5 * * * *"
    use_column_value => false
    #tracking_column => "MODIFYTS"
    lowercase_column_names => false
    last_run_metadata_path => "/centralized-location/last-run/logstash_jdbc_last_run_test1_log"
    record_last_run => true
    sql_log_level => "debug"
    #tracking_column_type => "timestamp"
    jdbc_default_timezone => "America/Los_Angeles"
    id => "test1"
  }
}

Любые предложения?

...