समस्या लॉगस्टैश-आउटपुट-मोंगोडब के नवीनतम संस्करण में एक बग के कारण होती है। कृपया github पर रिपोर्ट की गई समस्या देखें . इसे मोंगोडब प्लगइन के अंदर कुछ पंक्तियों को बदलकर तय किया जा सकता है। (कृपया सावधान रहें, क्योंकि यह एक हैकी समाधान है जो न तो प्रमाणीकरण और न ही दूरस्थ सर्वर का समर्थन करता है।)
बताए अनुसार अपनी mongo.rb फ़ाइल की पंक्तियों को बदलें यहां
. (पथ कुछ इस तरह होना चाहिए /opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-output-mongodb-0.1.4/lib/logstash/outputs/mongodb.rb
आप अपने त्रुटि संदेश में सटीक पथ पा सकते हैं।)
बदलें:
uriParsed=Mongo::URIParser.new(@uri)
conn = uriParsed.connection({})
if uriParsed.auths.length > 0
uriParsed.auths.each do |auth|
if !auth['db_name'].nil?
conn.add_auth(auth['db_name'], auth['username'], auth['password'], nil)
end
end
conn.apply_saved_authentication()
end
@db = conn.db(@database)
द्वारा:
client = Mongo::Client.new([ '127.0.0.1:27017' ])
@db = client.use(@database)
और बदलें:
@db.collection(event.sprintf(@collection)).insert(document)
द्वारा:
@db.database.collection(event.sprintf(@collection)).insert_one(document)
मेरे पास कई लॉगस्टैश सेटअपों में यह समस्या थी। लाइनों को बदलने से मेरे लिए हर बार चाल चली।