SPA Tutorial MongoDB Monitoring

Интерактивный туториал по средствам мониторинга и отладки MongoDB

От мониторинга операционной системы до внутренней телеметрии WiredTiger и FTDC.

Прогресс прохождения0/5
На главную
📊
Уровень не завершён

Уровень 2 — Внешние системы мониторинга

Централизованный сбор, хранение и визуализация метрик MongoDB и инфраструктуры

Цель уровня: Увидеть общую картину, построить графики и настроить алерты.

Теория

Внешние системы мониторинга объединяют метрики ОС, MongoDB и приложения в одной панели. Это удобно для долгосрочного анализа и поиска корреляций.

Чаще всего для MongoDB используют Prometheus + exporter + Grafana, Zabbix, Datadog, а также встроенные панели MongoDB Atlas.

Инструменты

Prometheus

Собирает временные ряды метрик через exporters.

Grafana

Строит дашборды и алерты по latency, connections, opcounters, replication lag.

Zabbix

Подходит для мониторинга инфраструктуры и БД в едином контуре.

MongoDB Atlas Metrics

Готовые графики для managed-кластеров: CPU, memory, network, opcounters, replication lag.

Alertmanager

Маршрутизация оповещений по правилам.

Ключевые метрики

Connections current/availableOpcounters insert/query/update/deleteReplication lagCache usageCPU, network, disk, memory

Интерпретация результатов

Если connections растут скачком, а operations/sec остаются на месте, возможна проблема на уровне пулов соединений или зависаний клиентов.
Replication lag важен для репликации и чтений со secondary: рост лага = риск устаревших данных.
График cache usage помогает понять, насколько рабочий набор помещается в память.

Практический блок

Команды и примеры, которые можно показать в проекте как кодовые блоки или иллюстрации.

Пример docker-compose для exporter
services:
  mongodb-exporter:
    image: percona/mongodb_exporter:0.43
    command: --mongodb.uri=mongodb://mongo:27017
    ports:
      - '9216:9216'
Пример target для Prometheus
scrape_configs:
  - job_name: 'mongodb'
    static_configs:
      - targets: ['mongodb-exporter:9216']
Пример alert-идеи
HighReplicationLag if mongodb_mongod_replset_member_replication_lag > 10 for 5m

Самопроверка

Ответьте на вопросы. Для прохождения уровня нужно правильно ответить на все.

1. Зачем нужен exporter в связке Prometheus + MongoDB?

Пояснение: Prometheus опрашивает HTTP endpoint. Exporter получает данные из MongoDB и публикует их в формате метрик.

2. Какой показатель наиболее важен для контроля актуальности secondary-узла?

Пояснение: Replication lag показывает отставание secondary от primary и помогает вовремя заметить проблемы репликации.

После проверки здесь появится результат.