# Mongodb jdbc using in logstash

**URL:** <https://discuss.elastic.co/t/mongodb-jdbc-using-in-logstash/291311>\
**Category:** Logstash\
**Tags:** jdbc\
**Created:** [December 9, 2021, 10:46am UTC](https://discuss.elastic.co/t/mongodb-jdbc-using-in-logstash/291311 "2021-12-09T10:46:02Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![peledev](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/peledev/32/78323_2.png) [@peledev](https://discuss.elastic.co/u/peledev)\
**Post date:** [December 9, 2021, 10:46am UTC](https://discuss.elastic.co/t/mongodb-jdbc-using-in-logstash/291311/1 "2021-12-09T10:46:02Z")

</div>

trying to write log from mongodb using jdbc  
see configuration file:

```auto
input {
  jdbc {
        jdbc_driver_library => "/usr/share/logstash/logstash-core/lib/jars/mongodb-driver-core-3.4.2.jar"
       	jdbc_driver_class => "Java::mongodb.jdbc.MongoDriver"
       	jdbc_connection_string => "jdbc:mongodb://<user><password>@<serverip>:27017/stg?authSource=admin"
	jdbc_user => "<user>"
    	jdbc_password => "<password>"
    	#schedule => "*/10 * * * * *"
       	statement => "db.logEvents.find({});"
  }
}
output {
 file {
    path => "/var/log/logstash/carobd-mongo.log"
 }
}

```

**and i get an error in logstash log :**

```auto
[2021-12-09T12:35:48,974][DEBUG][logstash.inputs.jdbc] loading /usr/share/logstash/logstash-core/lib/jars/mongodb-driver-core-3.4.2.jar
  Pipeline_id:mongo
  Plugin: <LogStash::Inputs::Jdbc jdbc_user=>"user", jdbc_password=><password>, statement=>"db.logEvents.find({});", jdbc_driver_library=>"/usr/share/logstash/logstash-core/lib/jars/mongodb-driver-core-3.4.2.jar", jdbc_connection_string=>"jdbc:mongodb://user: ***** @<serverip>:27017/stg?authSource=admin", id=>"d978c12aa530ca4c0d00a4d513b141d959d66a05d400583b2e6046568d83c8b3", jdbc_driver_class=>"Java::mongodb.jdbc.MongoDriver", enable_metric=>true, codec=><LogStash::Codecs::Plain id=>"plain_a16f09fa-dc00-4e9b-9c72-6da4159206d7", enable_metric=>true, charset=>"UTF-8">, jdbc_paging_enabled=>false, 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", last_run_metadata_path=>"/usr/share/logstash/.logstash_jdbc_last_run", 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::mongodb.jdbc.MongoDriver not loaded. Are you sure you've included the correct jdbc driver in :jdbc_driver_library?

```

---

<div class="post-metadata">

**Author:** ![AquaX](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/aquax/32/92006_2.png) [@AquaX](https://discuss.elastic.co/u/AquaX)\
**Post date:** [December 9, 2021, 4:04pm UTC](https://discuss.elastic.co/t/mongodb-jdbc-using-in-logstash/291311/2 "2021-12-09T16:04:37Z")

</div>

> [@peledev](#):
>
> ```auto
> jdbc_driver_library => "/usr/share/logstash/logstash-core/lib/jars/mongodb-driver-core-3.4.2.jar"
> 
> ```

I don't think this is the correct jdbc driver

Try this one instead:

> **[UnityJDBC - Download](https://unityjdbc.com/download.php?type=mongodb)**
>
> Free trial download for MongoDB, SplunkDB, and UnityJDBC drivers.

```auto
JDBC Driver class name: mongodb.jdbc.MongoDriver
URL format: jdbc:mongodb://<serverName>/<databaseName>

```

Also check out this community project:

> **[GitHub - phutchins/logstash-input-mongodb: MongoDB input plugin for Logstash](https://github.com/phutchins/logstash-input-mongodb)**
>
> MongoDB input plugin for Logstash. Contribute to phutchins/logstash-input-mongodb development by creating an account on GitHub.

---

<div class="post-metadata">

**Author:** ![peledev](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/peledev/32/78323_2.png) [@peledev](https://discuss.elastic.co/u/peledev)\
**Post date:** [December 13, 2021, 7:50am UTC](https://discuss.elastic.co/t/mongodb-jdbc-using-in-logstash/291311/3 "2021-12-13T07:50:48Z")

</div>

i did like you said  
this is the new configuration :

```auto

input {
  jdbc {
        jdbc_driver_library => "/usr/share/logstash/mongo/mongodb_unityjdbc_full.jar"
        jdbc_driver_class => "Java::mongodb.jdbc.MongoDriver"
        jdbc_connection_string => "jdbc:mongodb://<server>:27017/stg"
        jdbc_user => "<user>"
        jdbc_password => "<pass>"
        #schedule => "*/10 * * * * *"
        statement => "db.logEvents.find({});"
  }

}
output {
 file {
    path => "/var/log/logstash/mongo.log"
 }
}

```

and i get this error now:

```auto
<user><server> logstash]$ tail -100 logstash-plain.log | grep -i error
[2021-12-13T09:46:25,317][ERROR][logstash.pipeline] A plugin had an unrecoverable error. Will restart this plugin.
  Error: unable to load /usr/share/logstash/mongojar/mongodb_unityjdbc_full.jar from :jdbc_driver_library, no such file to load -- /usr/share/logstash/mongojar/mongodb_unityjdbc_full
  Exception: LogStash::PluginLoadingError
[2021-12-13T09:46:26,332][ERROR][logstash.pipeline] A plugin had an unrecoverable error. Will restart this plugin.
  Error: unable to load /usr/share/logstash/mongojar/mongodb_unityjdbc_full.jar from :jdbc_driver_library, no such file to load -- /usr/share/logstash/mongojar/mongodb_unityjdbc_full
  Exception: LogStash::PluginLoadingError

```

---

<div class="post-metadata">

**Author:** ![AquaX](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/aquax/32/92006_2.png) [@AquaX](https://discuss.elastic.co/u/AquaX)\
**Post date:** [December 13, 2021, 2:49pm UTC](https://discuss.elastic.co/t/mongodb-jdbc-using-in-logstash/291311/5 "2021-12-13T14:49:48Z")

</div>

It says “no such file to load” so double check your path and permissions

---

<div class="post-metadata">

**Author:** ![peledev](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/peledev/32/78323_2.png) [@peledev](https://discuss.elastic.co/u/peledev)\
**Post date:** [December 15, 2021, 8:03am UTC](https://discuss.elastic.co/t/mongodb-jdbc-using-in-logstash/291311/6 "2021-12-15T08:03:58Z")

</div>

i made sure it is located in the path  
now i get this:

```auto
[2021-12-15T10:02:15,283][DEBUG][logstash.agent] Converging pipelines state {:actions_count=>0}
[2021-12-15T10:02:15,984][DEBUG][logstash.inputs.jdbc] loading /usr/share/logstash/mongo/mongodb_unityjdbc_full.jar
[2021-12-15T10:02:15,985][ERROR][logstash.pipeline] A plugin had an unrecoverable error. Will restart this plugin.
  Pipeline_id:mongodb
  Plugin: <LogStash::Inputs::Jdbc jdbc_user=>"<user>", jdbc_password=><password>, statement=>"db.logEvents.find({});", jdbc_driver_library=>"/usr/share/logstash/mongo/mongodb_unityjdbc_full.jar", jdbc_connection_string=>"jdbc:mongodb://<server>:27017/stg", id=>"b26a801e0007f535ba829b03574fb36cc001fdac19bb6a42c11d81b54fd25ffe", jdbc_driver_class=>"mongodb.jdbc.MongoDriver", enable_metric=>true, codec=><LogStash::Codecs::Plain id=>"plain_50c0bf8d-3ce0-4fe4-b5e9-74f5cadf30f1", enable_metric=>true, charset=>"UTF-8">, jdbc_paging_enabled=>false, 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", last_run_metadata_path=>"/usr/share/logstash/.logstash_jdbc_last_run", use_column_value=>false, tracking_column_type=>"numeric", clean_run=>false, record_last_run=>true, lowercase_column_names=>true, use_prepared_statements=>false>
  Error: mongodb.jdbc.MongoDriver not loaded. 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.5.0/gems/logstash-input-jdbc-4.3.19/lib/logstash/plugin_mixins/jdbc/jdbc.rb:180:in `open_jdbc_connection'
/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/logstash-input-jdbc-4.3.19/lib/logstash/plugin_mixins/jdbc/jdbc.rb:243:in `execute_statement'
/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/logstash-input-jdbc-4.3.19/lib/logstash/inputs/jdbc.rb:309:in `execute_query'
/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/logstash-input-jdbc-4.3.19/lib/logstash/inputs/jdbc.rb:281:in `run'
/usr/share/logstash/logstash-core/lib/logstash/pipeline.rb:426:in `inputworker'
/usr/share/logstash/logstash-core/lib/logstash/pipeline.rb:420:in `block in start_input'
[2021-12-15T10:02:16,160][DEBUG][logstash.outputs.file] Starting flush cycle

```

see location exist:

```auto

[clau@server mongo]$ ls
2021-10-26.zip  
drivers   
initsources.bat  
lib                               
mongodb_unityjdbc_full.jar  
ruby-3.0.3  
splunk_unityjdbc_full.jar  
unity.ico         
unityjdbc.jar
code            
icon.png  
initsources.sh   
logstash-input-mongodb-0.3.0.gem  
README.txt                  
sampleDB    
Uninstaller                
UnityJDBCDoc.pdf  
UnityJDBC_Trial_Install.jar
[clau@server mongo]$ pwd
/usr/share/logstash/mongo
[clau@server mongo]$

```

---

<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:** [January 12, 2022, 8:04am UTC](https://discuss.elastic.co/t/mongodb-jdbc-using-in-logstash/291311/7 "2022-01-12T08:04:01Z")

</div>

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