С чего начать
Не с десятков дашбордов, а с 3 вопросов:
- Сервис доступен?
- Ответы не стали медленнее?
- Пользователь может выполнить ключевой сценарий?
Минимум метрик
- Rate запросов
- Errors (4xx/5xx отдельно)
- Duration (p95/p99)
SLO пример
- API availability: 99.9%
- Checkout success rate: 99.5%
- p95 latency: < 600ms
Алерты
Алерт должен быть action-oriented: кто и что делает в первые 10 минут.
Почему SLO важнее "много метрик"
Можно собрать сотни графиков и всё равно не понимать, деградирует ли сервис для пользователя. SLO задаёт конкретный стандарт качества, который видит и инженерная команда, и продукт.
Пример: "99.9% успешных API-запросов в месяц" понятнее, чем "errors вроде немного выросли".
Error budget
SLO без error budget не работает.
Если цель 99.9%, допустимый бюджет ошибок в месяц — около 43 минут недоступности.
Дальше решение простое:
- бюджет сжигается медленно -> можно выпускать фичи быстрее;
- бюджет сжигается быстро -> фокус на стабилизацию, не на новые релизы.
RED + USE модель
Для backend/API обычно хватает RED:
- Rate
- Errors
- Duration
Для инфраструктуры дополняйте USE:
- Utilization
- Saturation
- Errors
Связка RED+USE покрывает и пользовательский уровень, и системные bottleneck.
SLI примеры для B2B SaaS
api_success_ratecheckout_completion_ratep95_response_timebackground_jobs_success_rate
Важно считать SLI по "живым" запросам, а не по healthcheck endpoint.
Alert routing
Сильная система алертов:
- Делит инциденты по severity.
- Имеет owner по каждому сервису.
- Не спамит команду low-value alert-ами.
Если у вас pager срабатывает по "CPU > 80%" без контекста, команда быстро игнорирует алерты.
Runbook: обязательный минимум
На каждый критичный алерт нужен runbook:
- что проверить первым;
- какие команды выполнить;
- как сделать rollback/mitigation;
- кого эскалировать.
Runbook в Notion/Confluence без регулярной проверки быстро устаревает. Минимум раз в квартал нужен drill.
Постинцидентный цикл
После каждого серьёзного инцидента:
- короткий timeline;
- root cause;
- corrective action с owner и дедлайном.
Без этого observability превращается в "посмотрели графики и забыли".
Практический чеклист внедрения за 4 недели
- Выбраны 3-5 ключевых SLI
- Зафиксированы SLO и error budget
- Настроены action-oriented alerts
- Есть runbook по критичным алертам
- Есть еженедельный обзор burn rate
Вывод
Observability и SLO — это управляемость продукта в моменте, а не набор красивых дашбордов. Когда есть SLI, error budget и дисциплина реакций, команда быстрее релизит и реже тушит пожары ночью.