Интеграция с MongoDB
info
Перевод в процессе / Translation in progress. See русская версия.
Интеграция подключает агент к MongoDB read-only пользователем с ролью clusterMonitor, снимает serverStatus, состояние replica set и публикует метрики в Flaree.
Предварительные требования
-
MongoDB 5.0+ (standalone, replica set или sharded cluster).
-
Сетевая доступность из агента до инстанса (по умолчанию TCP 27017).
-
Read-only пользователь
flaree_agentс рольюclusterMonitor:mongosh "mongodb://admin@mongo:27017/admin" --eval 'db.createUser({user: "flaree_agent",pwd: "<your-password>",roles: [{ role: "clusterMonitor", db: "admin" }]});'
Минимальная конфигурация
integrations:
mongo:
enabled: true
uri: mongodb://flaree_agent:${MONGO_PASSWORD}@mongo:27017/admin
Полная конфигурация
integrations:
mongo:
enabled: true
uri: mongodb://flaree_agent:${MONGO_PASSWORD}@mongo:27017,mongo-2:27017,mongo-3:27017/admin?replicaSet=rs0&authSource=admin
tls: true
tls_ca: /etc/flaree/certs/mongo-ca.pem
connect_timeout: 5s
server_selection_timeout: 10s
collections:
- db: app
name: orders
interval: 60s
| Ключ | Тип | По умолчанию | Описание |
|---|---|---|---|
uri | string | — | URI подключения, пароль берётся из ${ENV_VAR}. |
tls | boolean | false | Включает TLS при отсутствии параметра в URI. |
tls_ca | path | — | Путь до CA-сертификата. |
connect_timeout | duration | 5s | Таймаут установления TCP-соединения. |
collections[] | array | [] | Список коллекций для снятия count и storageSize. |
Проверка работы
- Выполнить smoke-команду тем же пользователем, что указан в
agent.yaml. - Проверить, что метрика
flaree_agent_mongo_upравна1и ping возвращает1.
mongosh "mongodb://flaree_agent@mongo:27017/admin" --eval 'db.serverStatus().ok'
curl -sS http://127.0.0.1:9100/metrics | grep flaree_agent_mongo_up
Troubleshooting
- Если данные не приходят, см. нет данных.
- Частые причины: отсутствие роли
clusterMonitor, неправильныйauthSource, недоступность вторичных узлов replica set при включённомreadPreference=secondary.