Sự cố là do lỗi trong phiên bản mới nhất của logstash-output-mongodb. Vui lòng xem sự cố được báo cáo trên github . Nó có thể được khắc phục bằng cách thay đổi một vài dòng bên trong plugin mongodb. (Hãy cẩn thận, vì đây là một giải pháp hack không hỗ trợ xác thực cũng như máy chủ từ xa.)
Thay đổi các dòng của tệp mongo.rb của bạn như đã đề cập tại đây
. (đường dẫn phải có dạng như /opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-output-mongodb-0.1.4/lib/logstash/outputs/mongodb.rb
Bạn có thể tìm thấy đường dẫn chính xác trong thông báo lỗi của mình.)
Thay thế:
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)
bởi:
client = Mongo::Client.new([ '127.0.0.1:27017' ])
@db = client.use(@database)
Và thay thế:
@db.collection(event.sprintf(@collection)).insert(document)
bởi:
@db.database.collection(event.sprintf(@collection)).insert_one(document)
Bản thân tôi đã gặp sự cố này trong một số thiết lập logstash. Thay đổi dòng luôn là mẹo nhỏ đối với tôi.