Sloth
Observability-as-Code
SLO jako kod dla Prometheusa - z prostej specyfikacji generuje reguły recording, alerty i error budget.
Sloth zamienia SLO w kod. Zamiast ręcznie pisać dziesiątki reguł Prometheusa dla error budgetu i multi-window burn-rate alertów, opisujesz cel deklaratywnie (usługa, SLI, docelowy poziom, np. 99,9%), a Sloth generuje z tego gotowe reguły recording i alerting dla Prometheusa - spójne, sprawdzone i wersjonowane. To dokładnie ten sam ruch, co reszta EIAC: intencję („chcę 99,9% dostępności”) zapisujesz raz, a maszyna produkuje z niej egzekwowalną konfigurację.
Kiedy używać
- Chcesz spójnych, poprawnych SLO i alertów burn-rate bez ręcznego klejenia reguł PromQL.
- Zależy Ci na SLO wersjonowanych w repo i generowanych w CI (SLO-as-code).
- Standaryzujesz podejście do niezawodności w wielu usługach.
Przykład użycia
# slo.yaml - cel jako kod; Sloth wygeneruje reguły Prometheusa
version: prometheus/v1
service: web
slos:
- name: dostepnosc
objective: 99.9
sli:
events:
error_query: sum(rate(http_requests_total{code=~"5.."}[{{.window}}]))
total_query: sum(rate(http_requests_total[{{.window}}]))
Warto wiedzieć
- Generuje reguły dla Prometheusa; alerty burn-rate dają wczesny sygnał wyczerpywania error budgetu.
- SLO to praktyczna forma „własności” procesu z artykułu o łańcuchach Markowa i podejścia policy-as-code.
- Apache-2.0, lekki, wpina się w CI jako krok generujący konfigurację.