Messwerte für Verteilungswerte

In diesem Dokument wird beschrieben, wie Sie ein Diagramm erstellen und interpretieren, das Messwertdaten mit dem Werttyp Distribution enthält. Dieser Wertetyp wird von Diensten verwendet, wenn die einzelnen Messungen zu zahlreich sind, um sie zu erfassen, aber statistische Informationen, wie z. B. Durchschnittswerte oder Perzentile, zu diesen Messungen wertvoll sind. Wenn eine Anwendung beispielsweise auf HTTP-Traffic angewiesen ist, können Sie mithilfe eines Verteilungsmesswerts bewerten, wie schnell HTTP-Anfragen abgeschlossen werden und die HTTP-Antwortlatenz erfassen.

Um zu veranschaulichen, wie ein Histogramm erstellt wird, nehmen Sie einen Dienst vor, der die HTTP-Latenz von Anfragen misst und diese Daten mithilfe eines Messwerts mit einem Verteilungswert meldet. Die Daten werden jede Minute gemeldet. Der Dienst definiert Wertebereiche für den Messwert, sogenannte Buckets, und zeichnet die Anzahl der Messwerte auf, die in die einzelnen Buckets fallen. Wenn beispielsweise eine HTTP-Anfrage abgeschlossen ist, erhöht der Dienst die Anzahl in dem Bucket, dessen Bereich den Latenzwert der Anfrage enthält. Mit diesen Zählungen wird ein Histogramm der Werte für diese Minute erstellt.

Angenommen, die in einem einminütigen Intervall gemessenen Latenzen betragen 5, 1, 3, 5, 6, 10 und 14. Wenn die Buckets [0, 4), [4, 8), [8, 12) und [12, 16] sind, lautet das Histogramm dieser Daten [2, 3, 1, 1]. Die folgende Tabelle zeigt, wie sich einzelne Messungen auf die Anzahl der einzelnen Buckets auswirken:

Bucket Latenzmessungen Anzahl der Werte im Bucket
[12;16) 14 1
[8,12) 10 1
[4,8) 5, 5, 6 3
[0,4) 1, 3 2

Beim Schreiben dieser Daten in die Zeitachse wird ein Point-Objekt erstellt. Bei Messwerten mit einem Verteilungswert enthält dieses Objekt das Histogramm der Werte. Für diesen Stichprobenzeitraum enthält Point [2, 3, 1, 1]. Die einzelnen Messungen werden nicht in die Zeitreihe geschrieben.

Angenommen, in der vorherigen Tabelle wird das Histogramm für die Latenzdaten zum Zeitpunkt 1:00 aufgezeichnet. Diese Tabelle zeigt, wie Sie eine Reihe von Messungen in Bucket-Zählwerte umwandeln können. Angenommen, die Bucket-Anzahl zu den Zeiten 1:01, 1:02 und 1:03 sieht so aus wie in der folgenden Tabelle:

Bucket Histogramm für
1:00
Histogramm für
1:01
Histogramm für
1:02
Histogramm für
1:03
[12;16) 1 6 0 1
[8,12) 1 0 2 2
[4,8) 3 1 1 8
[0,4) 2 6 10 3

Die vorherige Tabelle enthält eine Folge von Histogrammen, die nach Zeit indexiert sind. Jede Spalte in der Tabelle stellt die Latenzdaten für einen einminütigen Zeitraum dar. Um die Anzahl der Messungen zu einem bestimmten Zeitpunkt zu erhalten, summieren Sie die Bucket-Anzahl. Die tatsächlichen Messwerte werden jedoch nicht angezeigt, da sie in Messwerten mit Verteilungswerten nicht verfügbar sind.

Heatmap-Diagramme

In Heatmap-Diagrammen wird eine einzelne Zeitachse mit Verteilungswerten dargestellt. Bei diesen Diagrammen steht die X-Achse für die Zeit, die Y-Achse für die Buckets und die Farbe für den Wert. Je heller die Farbe, desto höher ist der Wert. Dunkle Bereiche der Heatmap weisen beispielsweise auf eine geringere Bucket-Anzahl als gelbe oder weiße Bereiche hin.

In der folgenden Abbildung sehen Sie eine Darstellung einer Heatmap für das vorherige Beispiel:

Heatmap-Diagramm für das Beispiel.

In der vorherigen Abbildung verwendet die Heatmap Schwarz, um die kleinste Bucket-Zählwert darzustellen, 0 und gelb, um die größte Bucket-Zählwert darzustellen: 10. Rottöne und Orangetöne stellen Werte zwischen diesen beiden Extremen dar.

Da Heatmap-Diagramme nur eine einzelne Zeitreihe anzeigen können, müssen Sie die Aggregationsoptionen so festlegen, dass alle Zeitreihen kombiniert werden.

So können Sie mit dem Metrics Explorer die Summe der RTT-Latenzen einer VM-Instanz anzeigen lassen:
  1. Rufen Sie in der Google Cloud Console die Seite Metrics Explorer auf.

    Zum Metrics Explorer

    Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift Monitoring ist.

  2. Maximieren Sie im Element Messwert das Menü Messwert auswählen, geben Sie RTT latencies in die Filterleiste ein und wählen Sie dann über die Untermenüs einen bestimmten Ressourcentyp und Messwert aus:
    1. Wählen Sie im Menü Aktive Ressourcen die Option VM-Instanz aus.
    2. Wählen Sie im Menü Aktive Messwertkategorien die Option Vm_flow aus.
    3. Wählen Sie im Menü Aktive Messwerte die Option RTT-Latenzen aus.
    4. Klicken Sie auf Anwenden.

Im vorherigen Beispiel wird das Heatmap-Diagramm durch die Auswahl von Werten aus Menüs konfiguriert. Sie können jedoch auch Monitoring Query Language (MQL) verwenden, um Verteilungsmesswerte im Diagramm darzustellen. So geben Sie eine MQL-Abfrage ein:

  1. Klicken Sie in der Symbolleiste des Bereichs "Query Builder" auf die Schaltfläche  MQL oder  PromQL.
  2. Prüfen Sie, ob MQL im Schalter Sprache ausgewählt ist. Die Sprachschaltfläche befindet sich in derselben Symbolleiste, mit der Sie Ihre Abfrage formatieren können.
  3. Geben Sie eine Abfrage ein und führen Sie sie dann aus.

Geben Sie beispielsweise Folgendes in den Code-Editor ein:

fetch gce_instance
| metric 'networking.googleapis.com/vm_flow/rtt'
| align delta(1m)
| every 1m
| group_by [], [aggregate(value.rtt)]

Im vorherigen Ausdruck werden die Zeitreihendaten abgerufen, ausgerichtet und dann gruppiert. Beim Ausrichtungsprozess wird eine delta-Ausrichtungsfunktion mit einem Ausrichtungszeitraum von einer Minute verwendet. Da das erste Argument für group_by [] ist, werden alle Zeitachsen kombiniert. Das zweite Argument, [aggregate(value.rtt)], definiert, wie die Zeitachsen kombiniert werden. In diesem Beispiel werden für jeden Zeitstempel die Werte des Felds rtt der verschiedenen Zeitreihen mit der Funktion aggregate kombiniert, die von MQL ausgewählt wird.

Wenn Sie den Messwert über Menüs auswählen und dann zu MQL wechseln, wird Ihre Auswahl in eine strikte MQL-Abfrage umgewandelt:

fetch gce_instance
| metric 'networking.googleapis.com/vm_flow/rtt'
| align delta(1m)
| every 1m
| group_by [], [value_rtt_aggregate: aggregate(value.rtt)]

Der vorherige Ausdruck entspricht funktional dem ursprünglichen MQL-Beispiel.

Weitere Informationen zu MQL finden Sie unter Monitoring Query Language – Übersicht.

Linien- und Balkendiagramme

Liniendiagramme, gestapelte Balkendiagramme und gestapelte Liniendiagramme, die für die Darstellung skalarer Daten vorgesehen sind, können keine Verteilungswerte darstellen. Um einen Messwert mit einem Verteilungswert eines dieser Diagrammtypen anzuzeigen, müssen Sie die Histogrammwerte in skalare Werte konvertieren. Sie können die Aggregationsoptionen beispielsweise so festlegen, dass der Mittelwert der Werte im Histogramm oder ein Perzentil berechnet wird.

Informationen zum Anzeigen eines Verteilungsmesswerts in einem Liniendiagramm finden Sie im folgenden Abschnitt.

Aggregations- und Verteilungsmesswerte

Bei der Aggregation werden Punkte innerhalb einer Zeitachse reguliert und mehrere Zeitachsen kombiniert. Die Aggregation ist für Verteilungstypmesswerte die gleiche Aggregation wie für Messwerte, die einen Ganzzahl- oder Doppel-Werttyp haben. Der Diagrammtyp erzwingt jedoch einige Anforderungen an die Auswahlmöglichkeiten, die für die Ausrichtung und Gruppierung von Zeitachsen verwendet werden.

Heatmap-Diagramme

In Heatmap-Diagrammen wird eine Zeitreihe mit Verteilungswert angezeigt. Daher müssen die Ausrichtungsfunktion und die Gruppierungsfunktion so festgelegt werden, dass eine einzelne Zeitachse erstellt wird.

Wählen Sie eine sum- oder delta-Ausrichtungsfunktion aus, wenn in einem Diagramm eine Heatmap angezeigt wird. Diese Funktionen kombinieren auf Bucket-Ebene alle Stichproben für eine einzelne Zeitachse, die sich im selben Ausrichtungszeitraum befinden. Das Ergebnis ist ein Verteilungswert. Wenn beispielsweise zwei benachbarte Stichproben einer Zeitachse [2, 3, 1, 1] und [2, 5, 4, 1] sind, liefert die Summenausrichtungsfunktion [4, 8, 5, 2].

Die Gruppierungsfunktion definiert, wie verschiedene Zeitreihen kombiniert werden. Diese Funktion wird manchmal als Aggregator oder Reducer bezeichnet. Legen Sie für Heatmaps die Gruppierungsfunktion auf die Funktion sum fest. Die Summenfunktion addiert die Werte derselben Buckets über alle Histogramme hinweg, was zu einem neuen Histogramm führt. Beispielsweise beträgt die Summe des Werts [2, 3, 1, 1] aus Zeitreihe-A und des Werts [1, 5, 2, 2] aus Zeitreihe-B [3, 8, 3, 3].

Liniendiagramme

Liniendiagramme zeigen nur Zeitreihen mit Skalarwerten an. Wenn Sie einen Verteilungsmesswert auswählen, wird das Diagramm mit optimalen Parametern zur Anzeige einer Heatmap konfiguriert. Die Felder des Elements Aggregation sind auf Distribution und None festgelegt.

  • Die Interpretation der Verteilung hängt vom jeweiligen Messwert ab. Für Messwerttypen mit Verteilungswert, die die Messwertart GAUGE haben, ist die Standardausrichtungsfunktion auf sum festgelegt. Wenn ein Messwerttyp mit Verteilungswert die Messwertart CUMULATIVE hat, ist die Standardausrichtungsfunktion DELTA.

  • Bei der Einstellung Keine werden alle Zeiten kombiniert.

Wenn Sie einen Verteilungsmesswert in einem Liniendiagramm darstellen möchten, müssen Sie die Standardeinstellungen des Diagramms ändern. Wenn Sie beispielsweise ein Liniendiagramm in einem Dashboard so konfigurieren möchten, dass das 99. Perzentil jeder Zeitachse für einen Verteilungsmesswert angezeigt wird, gehen Sie so vor:

  1. Rufen Sie in der Google Cloud Console die Seite Dashboards auf.

    Dashboards aufrufen

    Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift Monitoring ist.

  2. Klicken Sie in der Symbolleiste auf  Widget hinzufügen.
  3. Wählen Sie im Dialogfeld Widget hinzufügen die Option  Messwert aus.
  4. Wählen Sie im Element Messwert den Messwert VM-Instanz – RTT-Latenzen aus.
  5. Maximieren Sie im Element Aggregation das erste Menü und wählen Sie 99. Perzentil aus.
  6. Legen Sie im Bereich Anzeige den Wert des Menüs Widget-Typ auf Liniendiagramm fest.
  7. Optional: Maximieren Sie im Element Aggregation das zweite Menü und wählen Sie die Labels zum Gruppieren von Zeitreihen aus. Standardmäßig sind keine Labels ausgewählt, sodass im Diagramm eine Zeile angezeigt wird.

Nächste Schritte

Informationen zum Ermitteln des Bucket-Modells für einen Messwert und zum Interpretieren von Perzentilen finden Sie unter Perzentile und Verteilungsmesswerte.