MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Nie można uruchomić logstash przy użyciu konfiguracji mongoDB?

Problem jest spowodowany błędem w najnowszej wersji logstash-output-mongodb. Zobacz problem zgłoszony na github . Można to naprawić, zmieniając kilka linii we wtyczce mongodb. (Proszę uważać, ponieważ jest to zwariowane rozwiązanie, które nie obsługuje uwierzytelniania ani zdalnych serwerów.)

Zmień wiersze pliku mongo.rb, jak wspomniano tutaj . (ścieżka powinna wyglądać jak /opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-output-mongodb-0.1.4/lib/logstash/outputs/mongodb.rb Dokładną ścieżkę można znaleźć w komunikacie o błędzie).

Zastąp:

    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)

przez:

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

I wymień:

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

przez:

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

Sam miałem ten problem w kilku konfiguracjach logstash. Zmiana linii zawsze mi odpowiadała.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Pasek wyszukiwania z sugestiami z nodejs i mongodb

  2. Konstruktor klasy MongoStore nie może być wywołany bez „new” (Express-NodeJs)Backend

  3. Jak importować i indeksować dane mongodb w solr 4

  4. Mongodb rozwija zagnieżdżone dokumenty

  5. Jak mogę zrobić elemMatch wewnątrz tablicy za pomocą mongodb?