Service Level Indicators (SLIs) auswählen

Last reviewed 2024-03-29 UTC

In diesem Dokument im Google Cloud-Architektur-Framework wird beschrieben, wie Sie geeignete Service Level Indicators (SLIs) für Ihren Dienst auswählen. Dieses Dokument basiert auf den Konzepten, die unter Komponenten von SLOs definiert sind.

Die Messwerte sind erforderlich, um festzustellen, ob Ihre Service Level Objectives (SLOs) erreicht werden. Sie definieren diese Messwerte als SLIs. Jeder SLI ist die Messung eines bestimmten Aspekts Ihres Dienstes, z. B. Antwortzeit, Verfügbarkeit oder Erfolgsquote.

SLOs umfassen einen oder mehrere SLIs und basieren idealerweise auf kritischem Nutzerverhalten (CUJs). CUJs beziehen sich auf eine bestimmte Gruppe von Nutzerinteraktionen oder Pfaden, die ein Nutzer zum Erreichen seines Ziels auf einer Website unternimmt. Nehmen wir an, ein Kunde, der einen E-Commerce-Dienst kauft. Der Kunde meldet sich an, sucht nach einem Produkt, legt den Artikel in einen Einkaufswagen, navigiert zur Zahlungsseite und schließt ab. CUJs identifizieren die verschiedenen Möglichkeiten, Nutzer dabei zu unterstützen, Aufgaben so schnell wie möglich zu erledigen.

Bei der Auswahl von SLIs müssen Sie die für Ihren Dienst geeigneten Messwerte, die verschiedenen Messwerttypen, die Sie verwenden können, die Qualität des Messwerts und die richtige Anzahl von erforderlichen Messwerten berücksichtigen.

Geeignete SLIs für Ihren Diensttyp auswählen

Es gibt viele Diensttypen. In der folgenden Tabelle sind gängige Diensttypen und Beispiele für die jeweiligen SLIs aufgeführt. Einige SLIs gelten für mehrere Diensttypen. Taucht ein SLI mehrmals in der Tabelle auf, stellt nur die erste SLI-Instanz eine Definition bereit. Wie bereits erwähnt, werden SLIs häufig durch die Anzahl der Neunen im Messwert ausgedrückt.

Diensttyp Typische SLIs
Bereitstellungssysteme
  • Verfügbarkeit: Der Prozentsatz des Dienstes, der nutzbar ist. Die Verfügbarkeit wird als Anteil der erfolgreichen Anfragen definiert, geteilt durch die Gesamtzahl der Anfragen und als Prozentsatz wie 99,9 % ausgedrückt.
  • Latenz: Gibt an, wie schnell ein bestimmter Prozentsatz an Anfragen erfüllt wird. Beispiel: 99. Perzentil bei 300 ms.
  • Qualität – der Umfang, in dem der Inhalt in der Antwort auf eine Anfrage vom idealen Antwortinhalt abweicht. Zum Beispiel eine Skala von 0% bis 100%.
Datenverarbeitungssysteme
  • Abdeckung – Die verarbeitete Datenmenge als Bruchteil. Beispiel: 95 %
  • Richtigkeit – der Anteil der Ausgabedaten, die als korrekt betrachtet werden. Beispiel: 99,99 %
  • Aktualität: Die Aktualität der Quelldaten oder aggregierten Ausgabedaten. Beispiel: Daten wurden vor 20 Minuten aktualisiert.
  • Durchsatz: Die verarbeitete Datenmenge. Zum Beispiel 500 MiB pro Sekunde oder 1.000 Anfragen pro Sekunde.
Speichersysteme
  • Langlebigkeit – die Wahrscheinlichkeit, dass in Zukunft auf Daten zugegriffen wird, die in das System geschrieben werden. Beispiel: 99,9999 %
  • Zeit bis zum ersten Byte (TTFB) – Die Zeit, die zum Senden und Abrufen des ersten Bytes einer Seite benötigt wird.
  • Blob-Verfügbarkeit – das Verhältnis der Kundenanfragen, die eine Nicht-Server-Fehlerantwort zurückgeben, zur Gesamtzahl der Kundenanfragen.
  • Durchsatz
  • Latenz
Anfragelaufwerkssysteme
  • Verfügbarkeit
  • Latenz
  • Qualität
Systeme mit geplanter Ausführung
  • Abweichung: Der Anteil der Ausführungen, die innerhalb eines akzeptablen Zeitfensters vor oder nach der erwarteten Startzeit beginnen
  • Ausführung: Die Zeit, die zum Fertigstellen eines Jobs benötigt wird. Bei einer Ausführung kommt es häufig zu dem Fehler, dass die tatsächliche Dauer die geplante Dauer überschreitet.

Verschiedene Messwerttypen bewerten

Sie müssen nicht nur den geeigneten SLI für Ihren Dienst auswählen, sondern auch den für Ihren SLI zu verwendenden Messwerttyp. Die im vorherigen Abschnitt aufgeführten SLIs gehören zu einem der folgenden Typen:

  • Zähler: Diese Art von Messwert kann sich erhöhen, aber nicht verringern. Zum Beispiel die Anzahl der Fehler, die bis zu einem bestimmten Messpunkt aufgetreten sind.
  • Gauge: Diese Art von Messwert kann sich erhöhen oder verringern. Zum Beispiel der tatsächliche Wert eines messbaren Teiles des Systems (z. B. die Länge der Warteschlange).
  • Verteilung (Histogramm): Die Anzahl der Ereignisse, die in einem bestimmten Messsegment in einem bestimmten Zeitraum aufgetreten sind. Sie können beispielsweise messen, wie viele Anfragen 0 bis 10 ms dauern, wie viele 11 bis 30 ms dauern und wie viele 31 bis 100 ms dauern. Das Ergebnis ist eine Anzahl für jeden Bucket, z. B. [0-10: 50], [11-30: 220] und [31-100: 1103].

Weitere Informationen zu diesen Typen finden Sie in der Prometheus-Projektdokumentation und unter Werttypen und Messwertarten in Cloud Monitoring.

Qualität des Messwerts berücksichtigen

Nicht jeder Messwert ist hilfreich. Neben einem Verhältnis von erfolgreichen Ereignissen zu den gesamten Ereignissen müssen Sie entscheiden, ob ein Messwert für Ihre Anforderungen ein guter SLI ist. Berücksichtigen Sie bei der Entscheidung folgende Eigenschaften eines guten Messwerts:

  • Messwerte beziehen sich direkt auf die Zufriedenheit der Nutzer. Nutzer sind unzufrieden, wenn sich ein Dienst nicht wie erwartet verhält, z. B. wenn der Dienst langsam, ungenau oder vollständig ausfällt. Validieren Sie jedes SLO anhand dieser Messwerte. Vergleichen Sie dazu den SLI mit anderen Signalen der Nutzerzufriedenheit. Dieser Vergleich enthält Daten wie die Anzahl der Kundenbeschwerde-Tickets, das Supportanrufvolumen und die Stimmung in sozialen Medien. Weitere Informationen finden Sie unter Kontinuierliche Verbesserung von SLO-Zielen.

    Wenn Ihr Messwert nicht mit diesen anderen Indikatoren für die Nutzerzufriedenheit übereinstimmt, ist er möglicherweise kein guter SLI.

  • Die Verschlechterung der Messwerte hängt mit Ausfällen zusammen. Jeder Messwert, der während eines Ausfalls gute Dienstergebnisse meldet, ist eindeutig der falsche Messwert für einen SLI. Umgekehrt ist ein Messwert, der während des normalen Betriebs schlecht aussieht, ebenfalls problematisch.

  • Der Messwert bietet ein gutes Signal-Rausch-Verhältnis. Schließen Sie alle Messwerte ab, die zu einer großen Anzahl falsch-negativer oder falsch-positiver Ergebnisse führen.

  • Der Messwert skaliert monoton und linear mit der Kundenzufriedenheit. Einfach ausgedrückt: Wenn sich der Messwert verbessert, steigt auch die Zufriedenheit der Kunden.

Richtige Anzahl von Messwerten auswählen

Ein einzelner Dienst kann mehrere SLIs haben, insbesondere wenn der Dienst verschiedene Arten von Aufgaben ausführt oder unterschiedliche Arten von Nutzern bedient. Es ist am besten, für jeden Typ die entsprechenden Messwerte auszuwählen.

Im Gegensatz dazu führen einige Dienste ähnliche Aufgaben aus, die direkt vergleichbar sind. Beispiel: Nutzer, die sich verschiedene Seiten Ihrer Website ansehen, z. B. die Startseite, Unterkategorien und die Top-10-Liste. Anstatt für jede dieser Aktionen einen separaten SLI zu entwickeln, kombinieren Sie sie in einer einzigen SLI-Kategorie, z. B. Dienste durchsuchen.

Die Erwartungen Ihrer Nutzer ändern sich bei Aktionen einer ähnlichen Kategorie nicht zu stark. Ihre Zufriedenheit ist durch die Antwort auf die Frage "Habe ich schnell eine ganze Seite mit Artikeln gesehen?" messbar.

Verwenden Sie so wenig SLIs wie möglich, um Ihre Diensttoleranzen genau darzustellen. Als allgemeine Richtlinie sollten Sie zwei bis sechs SLIs verwenden. Wenn zu wenige SLIs vorhanden sind, können Sie wertvolle Signale verpassen. Wenn zu viele Daten vorhanden sind, hat Ihr Supportteam zu viele Daten zur Verfügung, mit geringem zusätzlichen Nutzen. Die SLIs sollten das Verständnis der Produktionsintegrität vereinfachen und ein Gefühl der Abdeckung vermitteln, nicht überfordern (oder unterfordern).

Nächste Schritte