Опишите основные метрики для мониторинга веб-сервиса.

Ответ

Для комплексного мониторинга сервиса обычно используют комбинацию технических и бизнес-метрик, часто опираясь на устоявшиеся методологии, такие как RED и USE.

Методология RED (Rate, Errors, Duration) — для мониторинга запросов:

  1. Rate (Интенсивность)
    • Количество запросов в секунду (RPS/QPS). Показывает текущую нагрузку на сервис.
  2. Errors (Ошибки)
    • Процент ошибочных запросов (обычно с кодами 5xx) от общего числа. Ключевой показатель здоровья сервиса.
  3. Duration (Длительность)
    • Время ответа на запрос. Важно отслеживать не среднее значение, а персентили: p50 (медиана), p90, p99, p999. Это помогает выявлять проблемы у части пользователей.

Методология USE (Utilization, Saturation, Errors) — для мониторинга ресурсов:

  1. Utilization (Утилизация)
    • Загрузка CPU, использование RAM, дискового I/O. Показывает, насколько интенсивно используются ресурсы сервера.
  2. Saturation (Насыщение)
    • Длина очередей, задержки при выделении ресурсов. Сигнализирует о том, что система приближается к своему пределу производительности.
  3. Errors (Ошибки)
    • Счётчики ошибок на уровне системы: ошибки сети, дисковые ошибки и т.д.

Специфичные для Go метрики:

  • Количество горутин: Аномальный рост может указывать на утечки горутин.
  • Статистика сборщика мусора (GC): Частота и длительность пауз GC.

Бизнес-метрики:

  • Количество регистраций, успешных транзакций, активных пользователей. Связывают техническое состояние сервиса с бизнес-показателями.

Инструменты:

  • Сбор: Prometheus, VictoriaMetrics.
  • Визуализация: Grafana.
  • Алертинг: Alertmanager.