Перейти к содержимому
Перейти к основному содержимому

Проверка MongoDB

Проверка MongoDB создаётся в дашборде, выполняет её агент на вашем хосте. URI подключения хранится только локально в agent.yaml — в задании указывается лишь connectionRef. Чекер выполняет команду ping к базе admin.

Предварительные требования

  • Агент Flaree установлен и в статусе Online.

  • Тариф Pro: проверки баз данных недоступны на Starter.

  • Сетевая доступность от хоста агента до MongoDB (по умолчанию TCP 27017).

  • Read-only пользователь; для команды ping хватает минимальной роли:

    mongosh "mongodb://admin@10.0.0.8:27017/admin" --eval '
    db.createUser({
    user: "flaree_ro",
    pwd: "<пароль>",
    roles: [{ role: "clusterMonitor", db: "admin" }]
    })'

Минимальная конфигурация

Локально, в /etc/flaree-agent/agent.yaml:

connections:
mongo_main: "mongodb://flaree_ro:<пароль>@10.0.0.8:27017/admin"

В дашборде: Агенты → ваш агент → Назначенные проверки → Новая проверка, тип mongo, конфиг:

{ "connectionRef": "mongo_main" }

Полная конфигурация

Чекер выполняет единственную проверку — db.adminCommand({ ping: 1 }). Дополнительных полей нет:

{ "connectionRef": "mongo_main" }
КлючТипПо умолчаниюОписание
connectionRefstringИмя URI из connections: в agent.yaml. Обязателен.

Таймаут задания применяется и к установке соединения, и к server selection. Для replica set перечислите несколько хостов прямо в URI (mongodb://…@m1:27017,m2:27017/admin?replicaSet=rs0) — это часть строки подключения, а не конфига задания.

Проверка работы

  • Выполните ping с хоста агента теми же реквизитами, что в connections:.
  • Убедитесь, что счётчик проверок с type="mongo" растёт на локальных метриках агента.
  • В дашборде компонент перейдёт в Operational в течение одного-двух интервалов.
mongosh "mongodb://flaree_ro@10.0.0.8:27017/admin" --eval 'db.adminCommand({ ping: 1 })'
# { ok: 1 }

curl -s http://127.0.0.1:9090/metrics | grep 'type="mongo"'
# flaree_agent_checks_total{type="mongo",ok="true"} 5

Troubleshooting

  • Данные не появляются — чек-лист нет данных.
  • unknown_connection:<имя> — ключ в connections: не совпадает с connectionRef; перезапустите агента после правки agent.yaml.
  • Authentication failed — проверьте authSource в URI: пользователь создан в admin, значит URI должен заканчиваться на /admin.

Связанные страницы: MySQL · Kafka · концепция агента.