我在 docker 下设置 Graylog2 时遇到了一些麻烦。在我尝试使用身份验证之前,一切正常。我得到的只是永远重复的以下错误。
尝试两者root和graylog用户(在两者graylog和admin数据库中)给出相同的结果。
来自 mongodb 的日志说两个用户都是在安装过程中创建的。但是 graylog 说它在数据库中找不到任何graylog用户graylog。与用户相同root。
我是 MongoDB 新手,不知道身份验证是如何工作的。--auth但是据我了解,在为 root 帐户(https://github.com/docker-library/mongo/pull/145 )提供用户/密码时激活身份验证(类似于参数)。
Graylog 的身份验证机制是否可能与 MongoDB 所期望的不同?请参阅粘贴日志中的第 158 行
作为 root 用户的错误消息
mongodb_1 | 2017-04-16T13:27:52.486+0000 I NETWORK [thread1] 连接从 172.18.0.4:46566 #12 接受(现在打开 1 个连接)
mongodb_1 | 2017-04-16T13:27:52.495+0000 I NETWORK [conn12] 从 172.18.0.4:46566 conn12 收到客户端元数据:{驱动程序:{名称:“mongo-java-driver”,版本:“未知”},操作系统: { 类型:“Linux”,名称:“Linux”,架构:“amd64”,版本:“4.4.0-72-generic”},平台:“Java/Oracle Corporation/1.8.0_72-internal-b15”}
mongodb_1 | 2017-04-16T13:27:52.525+0000 I ACCESS [conn12] SCRAM-SHA-1 身份验证在来自客户端 172.18.0.4:46566 的灰色日志上的 root 失败;UserNotFound: 找不到用户 root@graylog
mongodb_1 | 2017-04-16T13:27:52.543+0000 I - [conn12] 结束连接 172.18.0.4:46566(现在打开 1 个连接)
作为 graylog 用户的错误消息(完整登录 pastebin)
mongodb_1 | 2017-04-16T15:47:48.404+0000 I NETWORK [thread1] 接受来自 172.18.0.4:41602 #7 的连接(现在打开 1 个连接)
mongodb_1 | 2017-04-16T15:47:48.410+0000 I NETWORK [conn7] 从 172.18.0.4:41602 conn7 收到客户端元数据:{驱动程序:{名称:“mongo-java-driver”,版本:“未知”},操作系统: { 类型:“Linux”,名称:“Linux”,架构:“amd64”,版本:“4.4.0-72-generic”},平台:“Java/Oracle Corporation/1.8.0_72-internal-b15”}
mongodb_1 | 2017-04-16T15:47:48.418+0000 I ACCESS [conn7] SCRAM-SHA-1 身份验证在来自客户端 172.18.0.4:41602 的 graylog 上的 graylog 失败;UserNotFound: 找不到用户 graylog@graylog
mongodb_1 | 2017-04-16T15:47:48.423+0000 I - [conn7] 结束连接 172.18.0.4:41602(现在打开 1 个连接)
这是我的./docker-composer.yml
版本:'2'
服务:
蒙哥达:
构建:./mongodb
卷:
- /docker/mongodb/data:/data/db
弹性搜索:
图片:“弹性搜索:2”
命令:“elasticsearch -Des.cluster.name='graylog'”
卷:
- /docker/elasticsearch/data:/usr/share/elasticsearch/data
灰色日志:
图片:graylog2/服务器
卷:
- /docker/graylog/journal:/usr/share/graylog/data/journal
- /docker/graylog/config:/usr/share/graylog/data/config
环境:
#GRAYLOG_MONGODB_URI: mongodb://root:drUqGGCMh@mongodb:27017/graylog
GRAYLOG_MONGODB_URI: mongodb://graylog:vWGzncmBe9@mongodb:27017/graylog
取决于:
- MongoDB
- 弹性搜索
端口:
- “9000:9000”
./mongodb/Dockerfile
从蒙戈:3
ENV MONGO_INITDB_ROOT_USERNAME:根
ENV MONGO_INITDB_ROOT_PASSWORD:drUqGGCMh
添加 grayloguser.js /docker-entrypoint-initdb.d/grayloguser.js
./mogodb/grayloguser.js
db.getSiblingDB('graylog');
db.createUser(
{
用户:“灰色日志”,
密码:“vWGzncmBe9”,
角色:[
{角色:“dbOwner”,db:“graylog”}
]
}
);