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

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 и есть кому реагировать на алерт. Генератор не решает, что считать ошибкой.

Источник

Как применить у себя

  1. Выбрать один сервис и цель SLO.
  2. Сгенерировать правила, проверить promtool check rules, загрузить в Prometheus.
  3. Убедиться, что recording rules считаются, а алерт доходит до получателя.
  4. Отметить «Изучено» после первого месяца с отчётом по бюджету ошибок.