【问题标题】:MongoDB: server returned error on SASL authentication step: Authentication failedMongoDB:服务器在 SASL 身份验证步骤上返回错误:身份验证失败
【发布时间】:2019-12-17 20:08:54
【问题描述】:

我正在尝试使用 dockerprometheusmongodb_exporter 监控 MongoDB。我还在 stackoverflow 上看到了this question,但在当前情况下它对我没有帮助。

我已经使用了以下 docker-compose 文件来搭建 mongodb 服务。

version: '3'
services: 
  mongo:
    image: mongo
    container_name: mongo
    restart: always
    environment: 
      MONGO_INITDB_ROOT_USERNAME: root
      MONGO_INITDB_ROOT_PASSWORD: example
  prometheus:
    image: prom/prometheus
    restart: always
    ports:
      - 9090:9090

以上配置成功运行。我已经使用以下命令下载了 mongodb_exporter:

wget https://github.com/dcu/mongodb_exporter/releases/download/v1.0.0/mongodb_exporter-linux-amd64

然后运行下面写的命令:

./mongodb_exporter-linux-amd64 -logtostderr -mongodb.uri 'mongodb://root:example@localhost:27017' -groups.enabled 'assert, durability, background_flushing, connections, extra_info, global_lock, index_counters, network, op_counters, op_counters_repl, memory, locks, metrics'

但我遇到了这个错误:

侦听:9001(方案=HTTP,安全=否,客户端验证=否) E0810 13:49:59.679747 8412 connection.go:48] 无法使用 url mongodb://root:example@localhost:27017 连接到服务器:服务器在 SASL 身份验证步骤中返回错误:身份验证失败。

由于该错误,我无法看到 localhost:9001 上的所有指标。我应该怎么做才能解决这个问题?

【问题讨论】:

    标签: mongodb docker prometheus


    【解决方案1】:

    通过将 localhost 更改为 mongo 容器的名称也解决了问题,即mongo

    现在下面的代码可以成功运行了:

    version: '3'
    
    services: 
      mongo:
        image: mongo
        container_name: mongo
        restart: always
        environment: 
          MONGO_INITDB_ROOT_USERNAME: root
          MONGO_INITDB_ROOT_PASSWORD: example
    
      prometheus:
        image: prom/prometheus
        container_name: prometheus
        restart: always
        ports:
          - 9090:9090
        volumes:
          - /home/mostafa/Desktop/docker_lab/mongo/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml
        command: 
          - '--config.file=/etc/prometheus/prometheus.yml'
    
      mongodb-exporter:
        build: .
        container_name: mongodb_exporter
        command: ./mongodb_exporter-linux-amd64 -logtostderr -mongodb.uri mongodb://mongo:27017 -groups.enabled 'asserts,durability,background_flusshing,connections,extra_info,global_lock,index_counters,network,op_counters,op_counters_repl,memory,locks,metrics'
        restart: always
        ports: 
          - 9001:9001
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-11-26
      • 2018-06-05
      • 2016-06-08
      • 2017-04-08
      • 2016-08-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多