Ich habe Probleme beim Einrichten von Graylog2 unter Andockfenster. Alles funktioniert, bis ich versuche, die Authentifizierung zu verwenden. Alles was ich bekomme ist der folgende Fehler, der für immer wiederholt wird.Graylog-Container kann keine Verbindung zu MongoDB-Container herstellen
Probieren Sie root
und graylog
Benutzer (in beiden graylog
und admin
db) gibt das gleiche Ergebnis.
Das Protokoll von mongodb besagt, dass beide Benutzer während des Setups erstellt wurden. Aber Graylog sagt, dass es keinen graylog
Benutzer in Datenbank graylog
findet. Gleiches mit Benutzer root
.
Ich bin neu in MongoDB und habe keine Ahnung, wie die Authentifizierung funktioniert. Aber von was ich verstehe, Authentifizierung (ähnlich wie --auth
Parameter) aktiviert ist, wenn Benutzer/Pw für root-Konto (https://github.com/docker-library/mongo/pull/145).
Ist es möglich, dass Graylog einen anderen Authentifizierungsmechanismus als MongoDB erwartet? Siehe Zeile # 158 in der pasted log
Fehlermeldung als Benutzer root
mongodb_1 | 2017-04-16T13:27:52.486+0000 I NETWORK [thread1] connection accepted from 172.18.0.4:46566 #12 (1 connection now open) mongodb_1 | 2017-04-16T13:27:52.495+0000 I NETWORK [conn12] received client metadata from 172.18.0.4:46566 conn12: { driver: { name: "mongo-java-driver", version: "unknown" }, os: { type: "Linux", name: "Linux", architecture: "amd64", version: "4.4.0-72-generic" }, platform: "Java/Oracle Corporation/1.8.0_72-internal-b15" } mongodb_1 | 2017-04-16T13:27:52.525+0000 I ACCESS [conn12] SCRAM-SHA-1 authentication failed for root on graylog from client 172.18.0.4:46566 ; UserNotFound: Could not find user [email protected] mongodb_1 | 2017-04-16T13:27:52.543+0000 I - [conn12] end connection 172.18.0.4:46566 (1 connection now open)
Fehlermeldung als graylog Benutzer (Full log on pastebin)
mongodb_1 | 2017-04-16T15:47:48.404+0000 I NETWORK [thread1] connection accepted from 172.18.0.4:41602 #7 (1 connection now open) mongodb_1 | 2017-04-16T15:47:48.410+0000 I NETWORK [conn7] received client metadata from 172.18.0.4:41602 conn7: { driver: { name: "mongo-java-driver", version: "unknown" }, os: { type: "Linux", name: "Linux", architecture: "amd64", version: "4.4.0-72-generic" }, platform: "Java/Oracle Corporation/1.8.0_72-internal-b15" } mongodb_1 | 2017-04-16T15:47:48.418+0000 I ACCESS [conn7] SCRAM-SHA-1 authentication failed for graylog on graylog from client 172.18.0.4:41602 ; UserNotFound: Could not find user [email protected] mongodb_1 | 2017-04-16T15:47:48.423+0000 I - [conn7] end connection 172.18.0.4:41602 (1 connection now open)
Das ist mein ./docker- composer.yml
version: '2' services: mongodb: build: ./mongodb volumes: - /docker/mongodb/data:/data/db elasticsearch: image: "elasticsearch:2" command: "elasticsearch -Des.cluster.name='graylog'" volumes: - /docker/elasticsearch/data:/usr/share/elasticsearch/data graylog: image: graylog2/server volumes: - /docker/graylog/journal:/usr/share/graylog/data/journal - /docker/graylog/config:/usr/share/graylog/data/config environment: #GRAYLOG_MONGODB_URI: mongodb://root:[email protected]:27017/graylog GRAYLOG_MONGODB_URI: mongodb://graylog:[email protected]:27017/graylog depends_on: - mongodb - elasticsearch ports: - "9000:9000"
./mongodb/Dockerfile
FROM mongo:3 ENV MONGO_INITDB_ROOT_USERNAME: root ENV MONGO_INITDB_ROOT_PASSWORD: drUqGGCMh ADD grayloguser.js /docker-entrypoint-initdb.d/grayloguser.js
./mogodb/grayloguser.js
db.getSiblingDB('graylog'); db.createUser( { user: "graylog", pwd: "vWGzncmBe9", roles: [ { role: "dbOwner", db: "graylog" } ] } );
Sieht aus wie 'UserNotFound: Benutzer root @ graylog konnte nicht gefunden werden'. Haben wir 'root' Benutzer in' graylog' db? Siehst du den gleichen Fehler, wenn du versuchst, dich mit einem 'graylog' Benutzer zu verbinden? – Veeram
Ich bekomme den excact-Fehler mit dem Graylog-Benutzer, der mit dem JS-Skript erstellt wurde. Habe ich falsch gedacht, dass dbOwner ausreichen sollte? Ich denke auch, dass der root-Benutzer mit der Rolle root gemäß dem init-Skript in der Lage sein sollte, alles zu tun? –
Ich glaube nicht, dass Rolle hier ein Problem ist. Sieht so aus, als ob die Benutzer, wenn sie erstellt werden, nicht gesehen werden. Wie haben Sie die Autorisierung aktiviert? Welche Art von Operation versuchen Sie zu tun? – Veeram