Проверка 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" }
| Ключ | Тип | По умолчанию | Описание |
|---|---|---|---|
connectionRef | string | — | Имя 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 · концепция агента.