SLO, SLI und SLA: der Unterschied
SLI, SLO und SLA sind drei verwandte SRE-Konzepte, die die Zuverlässigkeit eines Service in Zahlen beschreiben. Kurz: SLI ist, was Sie messen, SLO ist das Ziel, das Sie setzen, SLA ist, was Sie dem Kunden vertraglich zusagen.
Definitionen
- SLI (Service Level Indicator) — eine messbare Qualitätskennzahl. Beispiele: Anteil erfolgreicher Anfragen, Anteil der Anfragen schneller als 300 ms, Uptime.
- SLO (Service Level Objective) — ein internes Ziel für einen SLI. Zum Beispiel: „99,9% der Anfragen sind über 30 Tage erfolgreich“.
- SLA (Service Level Agreement) — ein externes Versprechen an den Kunden mit Konsequenzen (Gutschriften, Entschädigung) bei Verletzung. Meist lockerer als das SLO.
Error Budget (Fehlerbudget)
Wenn SLO = 99,9%, dann sind 0,1% das zulässige Fehlerbudget. Über 30 Tage sind das etwa 43 Minuten Nichtverfügbarkeit. Solange das Budget nicht aufgebraucht ist, können Sie schneller ausrollen; ist es weg, verschiebt sich der Fokus auf Stabilisierung.
Beispiel-SLI in PromQL
sum(rate(http_requests_total{code!~"5.."}[28d]))
/
sum(rate(http_requests_total[28d]))Das ist der Anteil der Nicht-5xx-Antworten über ein 28-Tage-Fenster — ein Kandidat für einen Availability-SLI.
Wie man es in Unimoni berechnet
Ein SLI ist ein gewöhnlicher PromQL-Ausdruck, das SLO-Ziel wird als Schwellwert in einer Alert-Regel gesetzt, und Uptime sowie Verfügbarkeit über einen Zeitraum berechnen das Uptime-Monitoring und die öffentliche Status-Seite.