Перейти к содержанию

Инцидентные дашборды


Когда сработал алерт, инцидент-менеджер (Incident Commander (IC)) открывает Grafana и должен сразу увидеть состояние системы. Без скроллов, без поиска по десятку дашбордов. Один экран — полная картина.

Timeline

Самая верхняя панель — time series основной метрики с аннотациями:

  • алерты — красные линии в момент срабатывания.
  • деплои — зелёные метки: deployment payment-api v2.4.3.
  • изменения конфигурации — синие: ConfigMap payment-config updated.

Все аннотации на одном графике. Одного взгляда достаточно: в 14:05 задеплоили v2.4.3, в 14:10 задержка взлетела. Причина инцидента - деплой.

Настройка: Dashboard Settings → Annotations → Add annotation query из Prometheus. Аннотацию деплоя можно добавлять через API: POST на /api/annotations из CI-пайплайна.

Traffic Light: здоровье сервисов

Или, как его часто называют, "светофор".

Ниже таймлайна — ряд Stat-панелей, по одной на сервис. Каждая показывает состояние SLI:

  • Зелёный — error budget осталось больше 50%.
  • Жёлтый — 20-50%.
  • Красный — меньше 20%.

Четыре панели в ряд: payment-api, user-service, notification, auth. За секунду видно — notification горит красным, служба уведомлений лежит. Остальные живы. Занимаемся notification, а не всем подряд.

RED-метрики: Rate, Errors, Duration

Под Traffic Light — три time series в один ряд, классический RED-профиль:

  • Rate — общий трафик. Упал → пользователи уходят.
  • Errors — доля ошибок. Выросла → сервис отвечает 500-ми.
  • Duration — p50 и p99 разными цветами. Взлетела → жив, но тормозит.

Три графика — три разных сценария инцидента. Один ряд — полная картина за секунду.

Корреляция: метрика → трейс → лог

Инцидентный дашборд — не тупик. Каждая панель имеет drill-down:

  • Клик по выбросу latency p99 → трейс в Tempo, спан с максимальной длительностью.
  • Клик по ошибкам 5xx → логи в Loki с фильтром service=payment-api level=error.
  • Клик по аномалии CPU → Node Exporter дашборд, отфильтрованный по хосту.

Настройка: Panel edit → Data links → Add link. Шаблон URL: /explore?left={"datasource":"Tempo","queries":[...]}. Переменные из дашборда подставляются автоматически.

Связка метрик с трейсами и логами — главное оружие SRE при разборе инцидента. Не гадать, а проваливаться от симптома к причине в три клика.

Чек-лист инцидент-менеджера

Перед утверждением дашборда убедитесь:

  • у каждой панели есть описание — что значит красный и что делать.
  • снизу есть ссылки на runbook: «Database connection timeout → Runbook: restart-pgbouncer».
  • dashboard не ссылается на метрики, которые могут лечь вместе с сервисом.
  • refresh: 10 секунд. В инциденте 30-секундный интервал как вечность.

Инцидентный дашборд — хирургический стол. Всё, что не помогает диагностике, убрать.