Инцидентные дашборды¶
Когда сработал алерт, инцидент-менеджер (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-секундный интервал как вечность.
Инцидентный дашборд — хирургический стол. Всё, что не помогает диагностике, убрать.