Золотые сигналы, RED и USE
Урок про проверенные методики выбора метрик: золотые сигналы, RED и USE.
Золотые сигналы — это четыре ключевые метрики (latency, traffic, errors, saturation), достаточные, чтобы понять здоровье большинства сервисов.
Новички тонут в выборе: какие из сотен возможных метрик действительно важны? Готовые методики избавляют от паралича. Они говорят: начни вот с этих, и ты закроешь 80% потребностей.
Четыре золотых сигнала
Подход из книги Google по SRE. Для сервиса, обрабатывающего запросы, измеряйте:
- Latency — задержка ответа. Отдельно считайте задержку успешных и ошибочных запросов, иначе быстрые ошибки замаскируют медленные успехи.
- Traffic — нагрузка: запросов в секунду.
- Errors — доля неуспешных запросов.
- Saturation — насыщенность: насколько близко система к пределу ресурсов (память, очередь, пул соединений).
Метод RED
RED — это удобная адаптация золотых сигналов именно для сервисов с запросами:
- Rate — запросов в секунду.
- Errors — ошибочных запросов в секунду.
- Duration — распределение длительности запросов.
# Rate: запросов в секунду
rate(http_requests_total[5m])
# Errors: доля 5xx
rate(http_requests_total{status=~"5.."}[5m])
/ rate(http_requests_total[5m])Метод USE
USE придуман для ресурсов (CPU, диск, сеть, пул соединений), а не для сервисов:
- Utilization — доля времени, когда ресурс занят.
- Saturation — сколько работы стоит в очереди сверх возможностей ресурса.
- Errors — число ошибок ресурса.
Правило простое: RED — для того, что обслуживает запросы; USE — для того, что эти запросы потребляют.
Как работает под капотом
Эти методики не магия, а чек-листы, которые превращают абстрактное «надо мониторить сервис» в конкретный набор PromQL-запросов и панелей. Для каждого сервиса вы заводите три графика RED, для каждого важного ресурса — три графика USE, и уже получаете рабочий минимум наблюдаемости.
| Объект | Методика | Что меряем |
| HTTP-сервис | RED | Rate, Errors, Duration |
| CPU / диск / пул | USE | Utilization, Saturation, Errors |
Частые ошибки
- Считать среднюю задержку. Среднее прячет хвосты. Смотрите процентили: p95, p99.
- Мешать успехи и ошибки в одной метрике задержки. Быстрый отказ 500 может «улучшить» среднее.
- Применять USE к сервису, а RED к диску. Перепутали объект — получили бессмысленные графики.
Итог
- Золотые сигналы: latency, traffic, errors, saturation.
- RED — для сервисов с запросами, USE — для ресурсов.
- Смотрите процентили задержки, а не среднее.