# Jdbc mongo plugin

**URL:** https://discuss.elastic.co/t/jdbc-mongo-plugin/322282
**Category:** Logstash
**Created:** [January 2, 2023, 6:31am UTC](https://discuss.elastic.co/t/jdbc-mongo-plugin/322282 "2023-01-02T06:31:12Z")
**Posts on this page:** 4
**Page:** 1

<div class="post-metadata">

### Author: ![reza\_sabz](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/reza_sabz/32/115443_2.png) [@reza\_sabz](https://discuss.elastic.co/u/reza_sabz)
#### Post date: [January 2, 2023, 6:31am UTC](https://discuss.elastic.co/t/jdbc-mongo-plugin/322282/1 "2023-01-02T06:31:12Z")

</div>

Hello every one  
I want to connect mongodb to elastic via logstash. I did a lot of research on this. I checked and tested many methods. Finally, I reached jdbc. I have a problem in configuring this plugin and somehow I import the file and I get an error.  
The configuration is as follows:

```auto
jdbc {
		jdbc_driver_library => "mongojdbc4.8.jar"
		jdbc_driver_class => "Java::com.dbschema.MongoJdbcDriver"
		jdbc_connection_string => "jdbc:mongodb://root:changeme@localhost:27017/databseLogstash?authSource=admin"
		jdbc_user => "root"
    	jdbc_password => "changeme"
		schedule => "* * * * * *"
		statement => "db.logstashCollection.find({},{'_id': false});"
	}

```

It displays the following error:

```auto
[2023-01-01T13:45:24,858][ERROR][logstash.javapipeline][main][bcaa76aec0c90e69f4dea38926bfe91f49a85b51f3b4f5250b1098bc90201f07] A plugin had an unrecoverable error. Will restart this plugin. 
  Pipeline_id:main 
  Plugin: <LogStash::Inputs::Jdbc jdbc_user=>"root", schedule=>"* * * * * *", jdbc_password=><password>, statement=>"db.logstashCollection.find({},{'_id': false});", jdbc_driver_library=>"mongojdbc4.8.jar", jdbc_connection_string=>"jdbc:mongodb://root:123456@localhost:27017/databseLogstash?authSource=admin", id=>"bcaa76aec0c90e69f4dea38926bfe91f49a85b51f3b4f5250b1098bc90201f07", jdbc_driver_class=>"Java::com.dbschema.MongoJdbcDriver", enable_metric=>true, codec=><LogStash::Codecs::Plain id=>"plain_4e46f7fd-db79-47d3-bf5f-6b4ed82f5d8c", enable_metric=>true, charset=>"UTF-8">, jdbc_paging_enabled=>false, jdbc_paging_mode=>"auto", jdbc_page_size=>100000, jdbc_validate_connection=>false, jdbc_validation_timeout=>3600, jdbc_pool_timeout=>5, sql_log_level=>"info", connection_retry_attempts=>1, connection_retry_attempts_wait_time=>0.5, plugin_timezone=>"utc", use_column_value=>false, tracking_column_type=>"numeric", clean_run=>false, record_last_run=>true, lowercase_column_names=>true, use_prepared_statements=>false> 
  Error: unable to load mongojdbc4.8.jar from :jdbc_driver_library, file not readable (please check user and group permissions for the path) 
  Exception: LogStash::PluginLoadingError 
  Stack: /usr/share/logstash/vendor/bundle/jruby/2.6.0/gems/logstash-integration-jdbc-5.3.0/lib/logstash/plugin_mixins/jdbc/common.rb:59:in `block in load_driver_jars' 
org/jruby/RubyArray.java:1865:in `each' 
/usr/share/logstash/vendor/bundle/jruby/2.6.0/gems/logstash-integration-jdbc-5.3.0/lib/logstash/plugin_mixins/jdbc/common.rb:54:in `load_driver_jars' 
/usr/share/logstash/vendor/bundle/jruby/2.6.0/gems/logstash-integration-jdbc-5.3.0/lib/logstash/plugin_mixins/jdbc/common.rb:34:in `load_driver' 
/usr/share/logstash/vendor/bundle/jruby/2.6.0/gems/logstash-integration-jdbc-5.3.0/lib/logstash/inputs/jdbc.rb:320:in `run' 
/usr/share/logstash/logstash-core/lib/logstash/java_pipeline.rb:411:in `inputworker' 
/usr/share/logstash/logstash-core/lib/logstash/java_pipeline.rb:402:in `block in start_input' 

```

When I complete the directory plugin it shows this error:  
My logstash config:

```auto
	jdbc {
		jdbc_driver_library => "/usr/share/logstash/logstash-core/lib/jars/mongojdbc4.8.jar"
		jdbc_driver_class => "Java::com.dbschema.MongoJdbcDriver"
		jdbc_connection_string => "jdbc:mongodb://root:changeme@localhost:27017/databseLogstash?authSource=admin"
		jdbc_user => "root"
    	jdbc_password => "changeme"
		schedule => "* * * * * *"
		statement => "db.logstashCollection.find({},{'_id': false});"
	}

```

```auto
[2023-01-02T06:36:28,810][ERROR][logstash.javapipeline][main][a936ff0509706f20c10e041797bdf10fca53317d38d4c697209fe35bb7d889ca] A plugin had an unrecoverable error. Will restart this plugin. 
  Pipeline_id:main 
  Plugin: <LogStash::Inputs::Jdbc jdbc_user=>"root", schedule=>"* * * * * *", jdbc_password=><password>, statement=>"db.logstashCollection.find({},{'_id': false});", jdbc_driver_library=>"/usr/share/logstash/logstash-core/lib/jars/mongojdbc4.8.jar", jdbc_connection_string=>"jdbc:mongodb://root:123456@localhost:27017/databseLogstash?authSource=admin", id=>"a936ff0509706f20c10e041797bdf10fca53317d38d4c697209fe35bb7d889ca", jdbc_driver_class=>"Java::com.dbschema.MongoJdbcDriver", enable_metric=>true, codec=><LogStash::Codecs::Plain id=>"plain_273829a3-8cb4-4d88-97e2-d1430595c8cd", enable_metric=>true, charset=>"UTF-8">, jdbc_paging_enabled=>false, jdbc_paging_mode=>"auto", jdbc_page_size=>100000, jdbc_validate_connection=>false, jdbc_validation_timeout=>3600, jdbc_pool_timeout=>5, sql_log_level=>"info", connection_retry_attempts=>1, connection_retry_attempts_wait_time=>0.5, plugin_timezone=>"utc", use_column_value=>false, tracking_column_type=>"numeric", clean_run=>false, record_last_run=>true, lowercase_column_names=>true, use_prepared_statements=>false> 
  Error: #<Java::JavaLang::ClassNotFoundException: com.dbschema.MongoJdbcDriver>. Are you sure you've included the correct jdbc driver in :jdbc_driver_library? 
  Exception: LogStash::PluginLoadingError 
  Stack: /usr/share/logstash/vendor/bundle/jruby/2.6.0/gems/logstash-integration-jdbc-5.3.0/lib/logstash/plugin_mixins/jdbc/common.rb:45:in `load_driver' 
/usr/share/logstash/vendor/bundle/jruby/2.6.0/gems/logstash-integration-jdbc-5.3.0/lib/logstash/inputs/jdbc.rb:320:in `run' 
/usr/share/logstash/logstash-core/lib/logstash/java_pipeline.rb:411:in `inputworker' 
/usr/share/logstash/logstash-core/lib/logstash/java_pipeline.rb:402:in `block in start_input'

```

---

<div class="post-metadata">

### Author: ![Wolfram\_Haussig](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/wolfram_haussig/32/70528_2.png) [@Wolfram\_Haussig](https://discuss.elastic.co/u/Wolfram_Haussig)
#### Post date: [January 3, 2023, 11:32am UTC](https://discuss.elastic.co/t/jdbc-mongo-plugin/322282/2 "2023-01-03T11:32:39Z")

</div>

Hi,

Where did you download the driver? There are multiple drivers out there with different package names so I guess your driver does not contain `com.dbschema.MongoJdbcDriver` - can you check that?

You could try to use `com.mongodb.jdbc.MongoDriver` as class name instead.

Best regards  
Wolfram

---

<div class="post-metadata">

### Author: ![reza\_sabz](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/reza_sabz/32/115443_2.png) [@reza\_sabz](https://discuss.elastic.co/u/reza_sabz)
#### Post date: [January 8, 2023, 8:58am UTC](https://discuss.elastic.co/t/jdbc-mongo-plugin/322282/3 "2023-01-08T08:58:46Z")

</div>

Yes that's right  
Thank you for the reply  
I solved the problem and it is working now.  
In version mongojdbc4.8, the class must be entered as follows:

```auto
jdbc_driver_class => "Java::com.wisecoders.dbschema.mongodb.JdbcDriver"

```

My working method can be seen here:  
[https://github.com/Rezasabz/ConnMongo2ELK](https://github.com/Rezasabz/ConnMongo2ELK)

---

<div class="post-metadata">

### Author: ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)
#### Post date: [February 5, 2023, 8:59am UTC](https://discuss.elastic.co/t/jdbc-mongo-plugin/322282/4 "2023-02-05T08:59:42Z")

</div>

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