Verteilungswerte

In diesem Dokument wird beschrieben, wie Sie ein Diagramm erstellen und interpretieren, das Messwertdaten des Werttyps Distribution anzeigt. 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 einen Messwert mit Verteilungswert verwenden, der die HTTP-Antwortlatenz erfasst, um zu bewerten, wie schnell HTTP-Anfragen abgeschlossen werden.

Betrachten Sie zur Veranschaulichung der Erstellung eines Histogramms einen Dienst, der die HTTP-Latenz von Anfragen misst und diese Daten mithilfe eines Messwerts mit dem Typ "Verteilungswert" meldet. Die Daten werden minütlich erfasst. Der Dienst definiert Wertebereiche für den Messwert, die als Buckets bezeichnet werden, 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 für den Bucket, dessen Bereich den Latenzwert der Anfrage enthält. Anhand dieser Zahlen 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, ist 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 Zeitachse geschrieben.

Angenommen, die vorherige Tabelle zeichnet das Histogramm für die Latenzdaten zum Zeitpunkt 1:00 auf. Diese Tabelle zeigt, wie eine Reihe von Messungen in Bucket-Anzahl umgewandelt wird. Angenommen, der Bucket zählt zu den Zeiten 1:01, 1:02 und 1:03 so, wie in der folgenden Tabelle dargestellt:

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 obige Tabelle enthält eine Reihe von Histogrammen, die nach Zeit indexiert sind. Jede Spalte in der Tabelle stellt die Latenzdaten für einen einminütigen Zeitraum dar. Addieren Sie die Bucket-Anzahl, um die Anzahl der Messungen zu einem bestimmten Zeitpunkt zu erhalten. Die tatsächlichen Messungen werden jedoch nicht angezeigt, da sie in Messwerten mit Verteilungswerten nicht verfügbar sind.

Heatmap-Diagramme

Heatmap-Diagramme sollen eine einzelne Zeitreihe mit Verteilungswerten darstellen. Bei diesen Diagrammen repräsentiert die X-Achse die Zeit, die Y-Achse die Buckets und die Farbe den Wert. Je heller die Farbe, desto höher der Wert. Dunkle Bereiche der Heatmap zeigen beispielsweise eine geringere Bucket-Anzahl an als gelbe oder weiße Bereiche.

Die folgende Abbildung zeigt 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 in Heatmap-Diagrammen nur eine einzige Zeitachse dargestellt werden kann, müssen Sie die Aggregationsoptionen so festlegen, dass alle Zeitreihen kombiniert werden.

So können Sie den Metrics Explorer zur Anzeige der Summe der RTT-Latenzen einer VM-Instanz verwenden:
  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 Übernehmen.

Im vorherigen Beispiel wird das Heatmap-Diagramm durch Auswahl von Werten aus Menüs konfiguriert. Sie können jedoch auch mit Monitoring Query Language (MQL) Diagramme der Verteilungswerte erstellen. 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 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 Zeitachsendaten abgerufen, ausgerichtet und dann gruppiert. Der Ausrichtungsprozess verwendet eine delta-Ausrichtungsfunktion mit einem einminütigen Ausrichtungszeitraum. Da das erste Argument von 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 Zeitachsen mit der Funktion aggregate kombiniert, die von MQL ausgewählt wird.

Wenn Sie den Messwert mithilfe von Menüs auswählen und dann zu MQL wechseln, wird Ihre Auswahl in eine MQL-Abfrage im strikten Format konvertiert:

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

Funktional gesehen entspricht der vorherige Ausdruck dem ursprünglichen MQL-Beispiel.

Weitere Informationen zu MQL finden Sie in der Übersicht zu Monitoring Query Language.

Linien- und Balkendiagramme

Liniendiagramme, gestapelte Balkendiagramme und gestapelte Liniendiagramme, die zur Darstellung von skalaren Daten vorgesehen sind, können keine Verteilungswerte darstellen. Wenn Sie einen Messwert mit einem Verteilungswert mit einem dieser Diagrammtypen anzeigen lassen möchten, müssen Sie die Histogrammwerte in skalare Werte umwandeln. Sie können beispielsweise die Aggregationsoptionen so festlegen, dass der Mittelwert der Werte im Histogramm oder ein Perzentil berechnet wird.

Informationen zur Darstellung eines Verteilungswerts 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

Heatmap-Diagramme zeigen eine Zeitreihe mit Verteilungswerte an. 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, erzeugt 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. Mit der Summenfunktion werden die Werte derselben Buckets in allen Histogrammen hinzugefügt, was zu einem neuen Histogramm führt. Zum Beispiel ist die Summe des Werts [2, 3, 1, 1] aus Zeitreihe-A und der Wert [1, 5, 2, 2] von Zeitreihe-B [3, 8, 3, 3].

Liniendiagramme

In Liniendiagrammen werden nur skalarwertige Zeitreihen angezeigt. Wenn Sie einen Messwert mit Verteilungswert auswählen, wird das Diagramm mit optimalen Parametern für die 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.

  • Durch die Einstellung Keine werden alle Uhrzeiten kombiniert.

Wenn Sie einen Verteilungswert in einem Liniendiagramm darstellen möchten, müssen Sie die Standardeinstellungen des Diagramms ändern. So konfigurieren Sie beispielsweise ein Liniendiagramm in einem Dashboard, um das 99. Perzentil jeder Zeitachse für einen Messwert mit Verteilungswert anzuzeigen:

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

    Zu Dashboards

    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 Linie 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 Verteilungswerte.