I am trying to make an integration between MongoDB (Version 4.2.7) and Elasticsearch (Version 7.7.0) via Logstash (Version 7.8.0).
The goal is to synchronize data from MongoDB to Elasticsearch.
The scenario is as follows:
- An instance of MongoDB Server on 127.0.0.1:2717;
- Installation of Logstash and the plug-in for mongoDB logstash-input-mongodb;
- An instance of Elasticsearch: 127.0.0.1:9200;
Here is the Logstash configuration file:
uri => 'mongodb://username:password@localhost:27017/databasename'
placeholder_db_dir => 'C:\Logstash-MongoDB'
placeholder_db_name => 'logstash_mongodb.db'
collection => 'collectionname'
batch_size => 5000
hosts => ["localhost:9200"]
index => "indexname"
Now I would like synchronize collectionname MongoDB into index indexname Elasticsearch. collectionname exists and is non empty on MongoDB while indexname exists empty on Elasticsearch.
I run Logstash in this way:
logstash -f C:\logstash-7.8.0\config\mongodata.conf
the result is that Logstash loop infinite over the last document inserted into the collection collectionname and no documents are synchronized on Elasticsearch. indexname always is empty.
Any suggestions are appreciated, leoper.