Что такое мониторинг и какие основные метрики нужно отслеживать?
Мониторинг — что это и зачем нужен
Мониторинг — это непрерывный сбор, агрегация и анализ показателей работы системы, сервисов и пользовательских транзакций с целью раннего обнаружения проблем, понимания состояния системы и принятия обоснованных решений по эксплуатации. Он обеспечивает наблюдаемость (observability) — способность понять, что происходит внутри системы по её внешним сигналам (метрики, логи, трассы).
Задачи мониторинга
-
детектировать деградацию и инциденты быстрее, чем их заметят пользователи;
-
определить причину проблемы и сократить MTTR;
-
отслеживать тренды и capacity planning;
-
контролировать выполнение SLO/error budget;
-
поддерживать безопасность и соответствие требованиям.
Типы мониторинга
-
Инфраструктурный — CPU, память, диск, сеть на хостах и контейнерах.
-
Приложенческий (application) — метрики внутри приложения: latency, error rate, queue length.
-
Синтетический (synthetic / probing) — регулярные health-checks и скрипты, эмулирующие пользовательские сценарии.
-
Реальный пользовательский мониторинг (RUM) — измерение опыта реальных пользователей (загрузка страниц, ошибки JS).
-
Трейсинг — распределённые трассы для понимания задержек между сервисами.
-
Логирование — агрегированные логи для поиска корневых причин.
Основные метрики, которые нужно отслеживать
-
Availability (доступность) — доля успешных ответов/времени работы. Важна для SLO/SLA.
-
Latency (задержка) — распределение ответов: p50, p95, p99 и максимум; важно измерять по отдельным вызовам/эндпоинтам.
-
Error rate (ошибки) — доля 5xx/ошибочных транзакций; считать по сущностям, а не только по агрегатам.
-
Throughput (пропускная способность) — запросы/сек, транзакции/сек; показывает нагрузку.
-
Saturation (насыщение ресурсов) — проценты использования: CPU, memory, disk I/O, file descriptors, connection pools; сигнализирует о приближении к пределам.
-
Queue depth / backlog — длина очередей задач/сообщений; рост часто предвестник деградации.
-
Business metrics — критичные для бизнеса показатели: покупки, конверсии, активные пользователи; помогают понять бизнес-импакт инцидента.
-
Custom health indicators — целевые SLIs (корректность данных, успешное подтверждение платёжных транзакций и т.д.).
Как правильно считать и алертить
-
используйте percentiles (p95/p99) вместо среднего для latency;
-
различайте сигнал симптома (например, резкий рост ошибок) и причину (падение БД); alert делайте на симптомы; уведомления на причину — для онколла/инженеров;
-
настроьте степенчатые алерты (warning → critical) и burn-rate алерты для error budget;
-
избегайте алерт-флуда: включайте debounce, suppression и группировку инцидентов.
Практические рекомендации
-
документируйте определения метрик (что считается «успехом»);
-
сочетайте синтетические проверки и RUM;
-
сохраняйте сырой телеметрический поток для ретроспективы;
-
контролируйте cardinality метрик (labels/tag) — слишком высокая кардинальность увеличивает стоимость и снижает производительность хранилища;
-
тестируйте мониторинг (chaos / fault-injection) — убедитесь, что алерты срабатывают и playbook работает;
-
визуализируйте ключевые SLO и error budgets на дашбордах для быстрых решений.
Мониторинг — не только инструменты, но и процесс: правильно выбранные и доверенные метрики позволяют не терять время на поиск причин и управлять стабильностью сервиса количественно.