Проблемът е причинен от грешка в най-новата версия на logstash-output-mongodb. Моля, вижте проблема, докладван в github . Може да се коригира чрез промяна на няколко реда в приставката mongodb. (Моля, бъдете внимателни, тъй като това е хакерско решение, което нито поддържа удостоверяване, нито отдалечени сървъри.)
Променете редовете на вашия файл 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)
Самият аз имах този проблем при няколко настройки на logstash. Промяната на редовете ми вършеше работа всеки път.