In diesem Dokument wird beschrieben, wie Sie ein Diagramm erstellen und interpretieren, das Messwertdaten vom Typ 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 einen Messwert mit Verteilungswert verwenden, der die HTTP-Antwortlatenz erfasst, um zu bewerten, wie schnell HTTP-Anfragen abgeschlossen werden.
Anhand eines Beispiels für einen Dienst, der die HTTP-Latenz von Anfragen misst und diese Daten mit einem Messwert mit dem Werttyp „Verteilung“ erfasst, wird veranschaulicht, wie ein Histogramm erstellt wird. Die Daten werden jede Minute erfasst. Der Dienst definiert Wertebereiche für den Messwert, sogenannte Buckets, und erfasst die Anzahl der gemessenen Werte, die in die einzelnen Buckets fallen. Wenn beispielsweise eine HTTP-Anfrage abgeschlossen ist, erhöht der Dienst die Anzahl im Bucket, dessen Bereich den Latenzwert der Anfrage enthält. Anhand dieser Werte wird ein Histogramm mit Werten für diese Minute erstellt.
Angenommen, die Latenzen, die in einem Intervall von einer Minute gemessen wurden, sind 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]. In der folgenden Tabelle sehen Sie, wie sich einzelne Messungen auf die Anzahl der einzelnen Bucket 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 |
Wenn diese Daten in die Zeitreihe geschrieben werden, 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
die Werte [2, 3, 1, 1]. Die einzelnen Messwerte werden nicht in die Zeitreihe geschrieben.
Angenommen, die vorherige Tabelle enthält das Histogramm für die Latenzdaten, die um 1:00 Uhr gemessen wurden. In dieser Tabelle wird veranschaulicht, wie Sie eine Reihe von Messungen in Bucket-Zählwerte umwandeln. Angenommen, die Bucket-Anzahl zu den Zeiten 1:01, 1:02 und 1:03 entspricht 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 zeigt eine Sequenz von Histogrammen, die nach Zeit indexiert sind. Jede Spalte in der Tabelle stellt die Latenzdaten für einen Zeitraum von einer Minute dar. Die Anzahl der Messungen zu einer bestimmten Zeit ergibt sich durch Addition der Bucket-Anzahl. Die tatsächlichen Messwerte werden jedoch nicht angezeigt, da sie in Verteilungsmesswerten nicht verfügbar sind.
Heatmap-Diagramme
Heatmap-Diagramme sind für die Darstellung einer einzelnen Zeitachse mit Verteilungswerten konzipiert. Bei diesen Diagrammen steht die X-Achse für die Zeit, die Y-Achse für die Bucket und die Farbe für den Wert. Je heller die Farbe, desto höher der Wert. Dunkle Bereiche der Heatmap geben beispielsweise eine geringere Anzahl von Bucket-Elementen an als gelbe oder weiße Bereiche.
Die folgende Abbildung zeigt eine Heatmap für das vorherige 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 Zeitachse anzeigen können, müssen Sie die Aggregationsoptionen so festlegen, dass alle Zeitreihen kombiniert werden.
So rufen Sie mit dem Metrics Explorer die Summe der RTT-Latenzen einer VM-Instanz auf:-
Rufen Sie in der Google Cloud Console die Seite leaderboard Metrics Explorer auf.
Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift Monitoring ist.
- 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:- Wählen Sie im Menü Aktive Ressourcen die Option VM-Instanz aus.
- Wählen Sie im Menü Aktive Messwertkategorien die Option Vm_flow aus.
- Wählen Sie im Menü Aktive Messwerte die Option RTT-Latenzen aus.
- Klicken Sie auf Anwenden.
Im vorherigen Beispiel wird das Heatmap-Diagramm konfiguriert, indem Werte aus Menüs ausgewählt werden. Sie können aber auch die Monitoring Query Language (MQL) verwenden, um Diagramme für Messwerte mit Verteilungswerten zu erstellen. So geben Sie eine MQL-Abfrage ein:
- Klicken Sie in der Symbolleiste des Bereichs "Query Builder" auf die Schaltfläche code MQL oder code PromQL.
- 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.
- 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 Zeitreihendaten abgerufen, ausgerichtet und dann gruppiert. Für die Ausrichtung wird eine delta
-Ausrichtungsfunktion mit einer Ausrichtungsdauer von einer Minute verwendet. Da []
das erste Argument für group_by
ist, werden alle Zeitreihen kombiniert.
Das zweite Argument, [aggregate(value.rtt)]
, definiert, wie die Zeitreihen kombiniert werden. In diesem Beispiel werden für jeden Zeitstempel die Werte des Felds rtt
der verschiedenen Zeitreihen mit der Funktion aggregate
kombiniert, die in MQL ausgewählt wird.
Wenn Sie den Messwert über Menüs auswählen und dann zu MQL wechseln, werden Ihre Auswahlen in eine MQL-Abfrage im strengen Format 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
In Liniendiagrammen, gestapelten Balken- und gestapelten Liniendiagrammen, die für die Darstellung skalarer Daten entwickelt wurden, können keine Verteilungswerte angezeigt werden. Wenn Sie einen Messwert mit einem Verteilungswert in einem dieser Diagrammtypen darstellen möchten, müssen Sie die Histogrammwerte in Skalarwerte konvertieren. Sie können beispielsweise die Aggregationsoptionen so festlegen, dass der Mittelwert der Werte im Histogramm oder ein Perzentil berechnet wird.
Informationen dazu, wie Sie einen Messwert mit Verteilungswert in einem Liniendiagramm darstellen, finden Sie im folgenden Abschnitt.
Aggregations- und Verteilungsmesswerte
Bei der Aggregation werden Punkte innerhalb einer Zeitachse regularisiert 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 Zeitachse mit Verteilungsmesswerte an. Daher müssen die Ausrichtungsfunktion und die Gruppierungsfunktion festgelegt werden, um eine einzelne Zeitachse zu erstellen.
Wählen Sie eine sum
- oder delta
-Ausrichtungsfunktion aus, wenn in einem Diagramm eine Heatmap angezeigt wird.
Bei diesen Funktionen werden auf Bucket-Ebene alle Stichproben für eine einzelne Zeitreihe, die sich im selben Ausrichtungszeitraum befinden, kombiniert. Das Ergebnis ist ein Verteilungswert. Wenn zwei benachbarte Stichproben einer Zeitreihe beispielsweise [2, 3, 1, 1] und [2, 5, 4, 1] lauten, ergibt die Summenausrichtungsfunktion [4, 8, 5, 2].
Mit der Gruppierfunktion wird festgelegt, wie verschiedene Zeitreihen kombiniert werden. Diese Funktion wird manchmal als Aggregator oder Reducer bezeichnet.
Legen Sie für Heatmaps die Gruppierungsfunktion auf sum
fest.
Die Summenfunktion addiert die Werte derselben Buckets in allen Histogrammen, was zu einem neuen Histogramm führt. Die Summe der Werte [2, 3, 1, 1] aus Zeitreihe A und [1, 5, 2, 2] aus Zeitreihe B ist beispielsweise [3, 8, 3, 3].
Liniendiagramme
In Liniendiagrammen werden nur Zeitreihen mit Skalarwerten angezeigt. Wenn Sie einen Messwert mit Verteilungswert auswählen, wird das Diagramm mit optimalen Parametern für die Darstellung einer Heatmap konfiguriert. Die Felder des Elements Aggregation sind auf Distribution und Keine festgelegt.
Die Interpretation von Verteilung hängt vom jeweiligen Messwert ab. Für verteilungsbewertete Messwerttypen mit der Messwertart
GAUGE
ist die Standardausrichtungsfunktion aufsum
festgelegt. Wenn ein Messwerttyp mit Verteilungswerten die MesswertartCUMULATIVE
hat, istDELTA
die Standardausrichtungsfunktion.Wenn Sie Kein auswählen, werden alle Zeiträume kombiniert.
Wenn Sie einen Messwert mit Verteilungswert in einem Liniendiagramm anzeigen möchten, müssen Sie die Standardeinstellungen des Diagramms ändern. So konfigurieren Sie beispielsweise ein Liniendiagramm in einem Dashboard, um das 99. Perzentil jeder Zeitreihe für einen Messwert mit Verteilungswerten anzuzeigen:
-
Rufen Sie in der Google Cloud Console die Seite Dashboards auf.
Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift Monitoring ist.
- Klicken Sie in der Symbolleiste auf add Widget hinzufügen.
- Wählen Sie im Dialogfeld Widget hinzufügen die Option leaderboard Messwert aus.
- Wählen Sie im Element Messwert den Messwert VM-Instanz – RTT-Latenzen aus.
- Maximieren Sie im Element Aggregation das erste Menü und wählen Sie 99. Perzentil aus.
- Legen Sie im Bereich Anzeige im Menü Widget-Typ den Wert Liniendiagramm fest.
- Optional: Maximieren Sie im Element Aggregation das zweite Menü und wählen Sie die Labels aus, mit denen Zeitreihen gruppiert werden sollen. Standardmäßig sind keine Labels ausgewählt. Daher wird im Diagramm nur eine Linie angezeigt.
Nächste Schritte
Informationen zum Bestimmen des Bucket-Modells für einen Messwert und zur Interpretation von Perzentilen finden Sie unter Perzentile und Verteilungsmesswerte.