Мониторинг MongoDB с помощью Proto Observability

Сбор метрик MongoDB

Сбор метрик MongoDB

Конфигурация MongoDB

  1. Создайте пользователя с правами read-only для агента ProtoOBP в admin базе данных MongoDB:

        use admin
        db.auth("admin", "<YOUR_PASSWORD>")
    
        # Для MongoDB 2.x
        db.addUser("protoobp", "protoobp", true)
    
        # Для MongoDB 3.x
        db.createUser({
        "user": "protoobp",
        "pwd": "protoobp",
        "roles": [
            { role: "read", db: "admin" },
            { role: "clusterMonitor", db: "admin" },
            { role: "read", db: "local" }
        ]
        })
    

Конфигурация ProtoOBP агента

Если агент запускается в виде службы systemd на хосте

  1. В файле конфигурации ProtoOBP агента (/etc/protoobp-agent/conf.d/mongo.d/conf.yaml) укажите адрес и порт MongoDB и учетную запись под которой агент сможет подключиться к базе :

    init_config:
    
    instances:
      - hosts:
          - mongodb:27017
        username: protoobp
        password: protoobp
    
  2. Перезапустите ProtoOBP агента выполнив systemctl restart protoobp-agent

Если агент запускается в виде Docker контейнера

  1. Добавьте следующие лейблы к Docker контейнеру с MongoDB:

В docker-compose.yaml

labels:
  com.protoobp.ad.check_names: '["mongo"]'
  com.protoobp.ad.init_configs: "[{}]"
  com.protoobp.ad.instances: '[{"hosts": ["%%host%%:%%port%%"], "username":"protoobp", "password":"protoobp"}]'

или в Dockerfile

LABEL "com.protoobp.ad.check_names"='["mongo"]'
LABEL "com.protoobp.ad.init_configs"='[{}]'
LABEL "com.protoobp.ad.instances"='[{"hosts": ["%%host%%:%%port%%"], "username":"protoobp", "password":"protoobp"}]'

    ```