Как связать базу данных postgres с logstash из JDBC для импорта данных? - PullRequest
0 голосов
/ 27 июня 2019

Я пытаюсь подключить PostgreSQL базу данных с Logstash для импорта данных из postgres в elasticsearch.Я использую драйвер JDBC для соединения Logstash с postgres.

Но я получаю следующую ошибку

[2019-06-27T13: 04: 05,943] [ОШИБКА] [logstash.javapipeline] В плагине произошла неисправимая ошибка.Перезапустит этот плагин.
Pipeline_id: main Плагин: "postgres", jdbc_password =>, Statement => "SELECT * FROM public. \" Contacts \ ";", jdbc_driver_library => "postgresql-42.2.6.jar":49e8-86b1-c94e9a298ffb ", enable_metric => true, charset =>" UTF-8 ">, jdbc_paging_enabled => false, jdbc_page_size => 100000, jdbc_validate_connection => false, jdbc_validation_timejdbc_pool_timeout => 5, sql_log_level => "info", connection_retry_attempts => 1, connection_retry_attempts_wait_time => 0.5, параметры => {"sql_last_value" => 1970-01-01 00:00:00 UTC}, last_run_metadata_path = ">\ Users \ roshan / .logstash_jdbc_last_run ", use_column_value => false, tracking_column_type =>" числовой ", clean_run => false, record_last_run => true, нижний регистр_column_names => true> Ошибка: илиg.postgresql. Драйвер не загружен.Вы уверены, что включили правильный драйвер jdbc в: jdbc_driver_library?Исключение: стек LogStash :: ConfigurationError: D: /Swares/logstash-7.2.0/logstash-7.2.0/vendor/bundle/jruby/2.5.0/gems/logstash-input-jdbc-4.3.13/lib/logstash/plugin_mixins/jdbc/jdbc.rb:163:in open_jdbc_connection' D:/Swares/logstash-7.2.0/logstash-7.2.0/vendor/bundle/jruby/2.5.0/gems/logstash-input-jdbc-4.3.13/lib/logstash/plugin_mixins/jdbc/jdbc.rb:221:in execute_statement 'D: /Swares/logstash-7.2.0/logstash-7.2.0/vendor/bundle/jruby/2.5.0/gems/logstash-input-jdbc-4.3.13 / lib / logstash / inputs / jdbc.rb: 277: в execute_query' D:/Swares/logstash-7.2.0/logstash-7.2.0/vendor/bundle/jruby/2.5.0/gems/logstash-input-jdbc-4.3.13/lib/logstash/inputs/jdbc.rb:263:in выполнить 'D: /Swares/logstash-7.2.0/logstash-7.2.0/logstash-core/lib/logstash/java_pipeline.rb: 309: в блоке inputworker' D:/Swares/logstash-7.2.0/logstash-7.2.0/logstash-core/lib/logstash/java_pipeline.rb:302:in в start_input '[2019-06-27T13: 04: 06,946] [ОШИБКА] [logstash.inputs.jdbc] Не удалось загрузить postgresql-42.2.6.jar {: exception => #}

Мои конфигурации

  • Java-версия - "1.8.0_211"
  • postgres (PostgreSQL) 11.0
  • logstash-7.2.0

А вот мой файл conf logstash

input {
    jdbc{
        #input configuration
        jdbc_driver_library => "postgresql-42.2.6.jar"
        jdbc_driver_class => "org.postgresql.Driver"
        jdbc_connection_string => "jdbc:postgresql://localhost:5432/LogstashTest"
        jdbc_user => "postgres"
        jdbc_password => "root"
        statement => 'SELECT  * FROM public."contacts";'
    }
}
output{
    stdout { codec => json_lines }
}
...