Hi,
I am trying to push data coming into Logstash to MongoDB on Atlas. My output configuration is as following:
mongodb {
id => "logs"
collection => "logentries"
database => "logs"
uri => "mongodb+srv://<user>:<password>@uswest2dev.3qbyg.mongodb.net/logs?ssl=true&w=majority"
codec => "json"
}
Seems that the plugin does not know how to interpret "mongodb+srv" which is needed as DNS Seed List to connect to the proper Atlas Mongo node within the cluster.
[ERROR] 2022-02-28 20:23:38.497 [[main]-pipeline-manager] javapipeline - Pipeline error {:pipeline_id=>"main", :exception=>#<Mongo::Error::InvalidURI: MongoDB URI must be in the following format: mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]
Please see the following URL for more information: http://docs.mongodb.org/manual/reference/connection-string/
Bad URI: mongodb+srv://cxmdev_rw1:@uswest2dev.3qbyg.mongodb.net/readAccessLogging?ssl=true&w=majority>, :backtrace=>["/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/mongo-2.0.6/lib/mongo/uri.rb:127:in `initialize'", "/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/mongo-2.0.6/lib/mongo/client.rb:266:in `create_from_uri'", "/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/mongo-2.0.6/lib/mongo/client.rb:150:in `initialize'", "/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/logstash-output-mongodb-3.1.5/lib/logstash/outputs/mongodb.rb:55:in `register'", "org/logstash/config/ir/compiler/OutputStrategyExt.java:131:in `register'", "org/logstash/config/ir/compiler/AbstractOutputDelegatorExt.java:68:in `register'", "/usr/share/logstash/logstash-core/lib/logstash/java_pipeline.rb:228:in `block in register_plugins'", "org/jruby/RubyArray.java:1809:in `each'", "/usr/share/logstash/logstash-core/lib/logstash/java_pipeline.rb:227:in `register_plugins'", "/usr/share/logstash/logstash-core/lib/logstash/java_pipeline.rb:585:in `maybe_setup_out_plugins'", "/usr/share/logstash/logstash-core/lib/logstash/java_pipeline.rb:240:in `start_workers'", "/usr/share/logstash/logstash-core/lib/logstash/java_pipeline.rb:185:in `run'", "/usr/share/logstash/logstash-core/lib/logstash/java_pipeline.rb:137:in `block in start'"], "pipeline.sources"=>["/usr/share/logstash/pipeline/logstash.conf"], :thread=>"#<Thread:0x44ec91b1@/usr/share/logstash/logstash-core/lib/logstash/java_pipeline.rb:125 run>"}
[INFO ] 2022-02-28 20:23:38.498 [[main]-pipeline-manager] javapipeline - Pipeline terminated {"pipeline.id"=>"main"}
[ERROR] 2022-02-28 20:23:38.509 [Converge PipelineAction::Create<main>] agent - Failed to execute action {:id=>:main, :action_type=>LogStash::ConvergeResult::FailedAction, :message=>"Could not execute action: PipelineAction::Create<main>, action_result: false", :backtrace=>nil}
[INFO ] 2022-02-28 20:23:38.597 [LogStash::Runner] runner - Logstash shut down.
Is there any support connection string to send data from Logstash into Atlas Mongo clusters?
Thanks,
Zareh