Runbooks

Тема дорожной карты · Observability

Runbook — это задокументированный набор процедур, которым следуют дежурные инженеры при срабатывании конкретного алерта или возникновении определённого типа инцидента. Runbook снижает когнитивную нагрузку и время реагирования во время стрессовых аварий, обеспечивая четкое понимание действий и последовательности шагов. Каждый алерт в alerting_rules.yml должен иметь аннотацию runbook_url, указывающую на соответствующий runbook-документ. Хороший runbook описывает назначение алерта, непосредственные диагностические шаги (например, «проверьте дашборд Grafana по ссылке <url>, выполните kubectl logs -n api deployment/api --tail=100»), возможные первопричины и действия по устранению, упорядоченные по вероятности. Runbook-и должны быть живыми документами — обновляться после каждого инцидента с новыми находками и рассматриваться как часть задач постмортемов. Хранение runbook-ов в вики или системе документации с контролем версий (например, в Confluence или Git-репозиториях) гарантирует их актуальность и возможность прямой ссылки из уведомлений PagerDuty и Alertmanager.

Как это работает

Runbooks соединяет observability-данные с людьми через on-call ротации. Инструменты: Alertmanager (Prometheus-native), Grafana Alerting (multi-source), PagerDuty / OpsGenie / Squadcast (incident management поверх). Правила оценивают metrics/logs/traces-запросы; срабатывают при for: 5m; роутятся по labels (severity: page vs severity: ticket); идут в каналы (PagerDuty, Slack, Telegram, webhook). SLO burn-rate alerts — современный best practice.

Когда применять

Runbooks применяются, когда необходимо быстро и точно реагировать на инциденты. Алертите на симптомы (SLO burn rate, error rate, latency), не на причины (CPU, RAM). Multi-window multi-burn-rate alerts — fast pages для внезапно-плохого, slow tickets для постепенной деградации. Всегда runbook URL в annotations. Тестируйте алерты в staging до production. Аудит alert fatigue раз в квартал — убивайте алерты, на которые никто не реагирует.

Типичные ошибки

Типичные ошибки runbooks включают pages на инфра-метриках, не затрагивающих юзеров (CPU > 80% на 12-ядерном боксе в 3:00 на non-user-facing job); flapping-алерты (нет for:); алерты без runbook = хаос в 3:00; все алерты в один Slack-канал (alert fatigue).

Связанные понятия

Полезные ресурсы