MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Không thể bắt đầu logstash bằng cấu hình mongoDB?

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.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. không thể lấy dữ liệu từ cơ sở dữ liệu sau khi khai báo nhiều lược đồ (mongoose + express + mongodb

  2. Lỗi mongoid trả về tài liệu đầu tiên khi gọi cuối cùng?

  3. Không có kết quả với Tìm kiếm văn bản MongoDB PHP

  4. Cách chọn các tài liệu con với MongoDB

  5. Sử dụng Jade để lặp lại JSON