この問題は、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セットアップでこの問題を自分で抱えていました。線を変えることは私にとって毎回トリックでした。