[logstash.pipeline] A plugin had an unrecoverable error


(Swasti Mehra) #1

Hi! I'm new to the ELK stack and I am trying to use the jdbc input plugin to put data from my derby database into kibana. I am using a windows computer and I have elasticsearch, kibana and logstash installed, I am using logstash version 6.2.4

I have looked up all the similar discussions but have not been able to fix my issue, I get two errors infinitely when I run logstash with the config file to connect to the database and query it,
The errors are-

Blockquote

[ERROR][logstash.pipeline ] A plugin had an unrecoverable error. Will restart this plugin.
Pipeline_id:main
Plugin: <LogStash::Inputs::Jdbc jdbc_connection_string=>"jdbc:derby://localhost:1527/file_monitoring", jdbc_user=>"swasti", jdbc_password=>, jdbc_validate_connection=>true, jdbc_driver_library=>"C:\Program Files\Java\jdk1.8.0_171\db\lib\derbyclient.jar", jdbc_driver_class=>"org.apache.derby.jdbc.EmbeddedDriver", statement=>"SELECT * from APP.DAILY", id=>"e556c5ecfe2a75d0c1e849839b9f830022b74d1eaab9c4cb493c868588a56ee9", enable_metric=>true, codec=><LogStash::Codecs::Plain id=>"plain_0d005b53-d3d7-42c9-aa13-1ff613ed428e", enable_metric=>true, charset=>"UTF-8">, jdbc_paging_enabled=>false, jdbc_page_size=>100000, jdbc_validation_timeout=>3600, jdbc_pool_timeout=>5, sql_log_level=>"info", connection_retry_attempts=>1, connection_retry_attempts_wait_time=>0.5, parameters=>{"sql_last_value"=>1970-01-01 05:30:00 +0530}, last_run_metadata_path=>"C:\Users\a1h4z60o/.logstash_jdbc_last_run", use_column_value=>false, tracking_column_type=>"numeric", clean_run=>false, record_last_run=>true, lowercase_column_names=>true>

Error: org.apache.derby.jdbc.EmbeddedDriver not loaded. Are you sure you've included the correct jdbc driver in :jdbc_driver_library?
Exception: LogStash::ConfigurationError
Stack: C:/Users/a1h4z60o/logstash-6.2.4/vendor/bundle/jruby/2.3.0/gems/logstash-input-jdbc-4.3.9/lib/logstash/plugin_mixins/jdbc.rb:162:in open_jdbc_connection' C:/Users/a1h4z60o/logstash-6.2.4/vendor/bundle/jruby/2.3.0/gems/logstash-input-jdbc-4.3.9/lib/logstash/plugin_mixins/jdbc.rb:220:inexecute_statement'
C:/Users/a1h4z60o/logstash-6.2.4/vendor/bundle/jruby/2.3.0/gems/logstash-input-jdbc-4.3.9/lib/logstash/inputs/jdbc.rb:264:in execute_query' C:/Users/a1h4z60o/logstash-6.2.4/vendor/bundle/jruby/2.3.0/gems/logstash-input-jdbc-4.3.9/lib/logstash/inputs/jdbc.rb:250:inrun'
C:/Users/a1h4z60o/logstash-6.2.4/logstash-core/lib/logstash/pipeline.rb:514:in inputworker' C:/Users/a1h4z60o/logstash-6.2.4/logstash-core/lib/logstash/pipeline.rb:507:inblock in start_input'

My config file is:
input { jdbc {
jdbc_connection_string => "jdbc:derby://localhost:1527/file_monitoring"
jdbc_user => "swasti"
jdbc_password=>"airtel123"
jdbc_validate_connection => true
jdbc_driver_library => "C:\Program Files\Java\jdk1.8.0_171\db\lib\derbyclient.jar"
jdbc_driver_class => "org.apache.derby.jdbc.EmbeddedDriver"
statement => "SELECT * from APP.DAILY"
} }
output {
stdout { codec => json_lines }
}

any help would be greatly appreciated!

P.S. I'm sorry for the sloppy formatting, this is my first post on the discussion forum :slight_smile:


(Guy Boertje) #2

You need to use the client driver. org.apache.derby.jdbc.ClientDriver


(system) #3

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.