sql >> Database >  >> NoSQL >> MongoDB

Kan logstash niet starten met mongoDB-configuratie?

Het probleem wordt veroorzaakt door een bug in de nieuwste versie van logstash-output-mongodb. Zie het probleem gemeld op github . Het kan worden opgelost door een paar regels in de mongodb-plug-in te wijzigen. (Wees voorzichtig, want dit is een gehackte oplossing die geen authenticatie of externe servers ondersteunt.)

Wijzig de regels van uw mongo.rb-bestand zoals vermeld hier . (pad moet zoiets zijn als /opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-output-mongodb-0.1.4/lib/logstash/outputs/mongodb.rb U vindt het exacte pad in uw foutmelding.)

Vervang:

    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)

door:

    client = Mongo::Client.new([ '127.0.0.1:27017' ])
    @db = client.use(@database)

En vervang:

@db.collection(event.sprintf(@collection)).insert(document)

door:

@db.database.collection(event.sprintf(@collection)).insert_one(document)

Ik had dit probleem zelf in verschillende logstash-opstellingen. Het veranderen van de regels deed het altijd voor mij.




  1. Index bestaat al met verschillende opties fout tijdens het gebruik van createIndex() in de nieuwste MongoDB java-driver

  2. BsonSerializationException treedt op als de elementnaam eindigt op een punt

  3. Hoe deel te nemen aan twee collecties in mangoest

  4. Een script maken om MongoDB-verzamelingen van Mongo-shell te maken?