Sloth: SLO и расход бюджета ошибок
SRE · SLO
Добавлено 2026-10-29.
Проблема
Алерт «сайт недоступен» срабатывает на каждую минутную просадку, а медленная деградация за неделю остаётся незамеченной. Нет договорённости, сколько ошибок допустимо.
Решение
Задать SLO в короткой спецификации и сгенерировать из неё recording и alerting rules для Prometheus с алертами по скорости расхода бюджета ошибок. Продолжение Four Golden Signals и Recording rules.
Пример
SLI из Blackbox Exporter: доля неуспешных проб. Формат raw.error_ratio_query — как в примере examples/raw-home-wifi.yml репозитория.
version: "prometheus/v1"
service: "devops-kb"
slos:
- name: "site-availability"
objective: 99.5
description: "Сайт отвечает на внешние HTTP-пробы."
sli:
raw:
error_ratio_query: |
1 - avg_over_time(probe_success{instance="https://devops-kb.strangled.net/"}[{{.window}}])
alerting:
name: DevopsKbAvailability
page_alert:
labels:
severity: critical
ticket_alert:
labels:
severity: warning
sloth generate -i slo.yaml -o slo-rules.yaml
promtool check rules slo-rules.yaml
Когда применять
Когда для сервиса есть понятный SLI и есть кому реагировать на алерт. Генератор не решает, что считать ошибкой.
Источник
Как применить у себя
- Выбрать один сервис и цель SLO.
- Сгенерировать правила, проверить
promtool check rules, загрузить в Prometheus. - Убедиться, что recording rules считаются, а алерт доходит до получателя.
- Отметить «Изучено» после первого месяца с отчётом по бюджету ошибок.