Filtern und Aggregieren: Zeitachsen bearbeiten

Mit Filtern und Aggregation in Cloud Monitoring können Sie große Mengen an Rohzeitreihendaten verfeinern, um Muster, Trends und Ausreißer zu erkennen. Durch Filtern werden Daten entfernt, die Sie nicht analysieren möchten. Durch Aggregation werden Datenpunkte über Zeit und Dimensionen hinweg in einem kleineren Zusammenfassungssatz kombiniert.

Diese Vorgänge basieren auf dem Datenmodell, das unter Messwerte, Zeitreihen und Ressourcen beschrieben wird. Wenn Sie diese Techniken anwenden möchten, verwenden Sie die Cloud Monitoring API oder die Diagramm- und Benachrichtigungstools in der Google Cloud Console. Beispiele finden Sie unter API-Beispielrichtlinien und Beispiele für die Monitoring Query Language.

Unformatierte Zeitachsendaten

Die Menge der Rohmesswertdaten in einer einzelnen Zeitreihe kann enorm sein und es gibt in der Regel viele Zeitreihen, die mit einem Messwerttyp verknüpft sind. Um den gesamten Datensatz auf Gemeinsamkeiten, Trends oder Ausreißer zu analysieren, müssen Sie die Zeitachsen in dem Satz verarbeiten. Andernfalls sind zu viele Daten zu berücksichtigen.

In den Beispielen auf dieser Seite wird eine kleine Anzahl hypothetischer Zeitreihen verwendet, um Filterung und Aggregation vorzustellen. Die folgende Abbildung zeigt beispielsweise Rohdaten von einigen Stunden aus drei Zeitreihen:

Grafik mit drei Rohzeitachsen: rot, blau und grün.
Abbildung 1: drei Rohzeitachsen

Jede Zeitreihe ist rot, blau oder grün, um den Wert eines hypothetischen color-Labels widerzuspiegeln. Für jeden Wert des Labels gibt es eine Zeitreihe. Beachten Sie, dass die Werte nicht korrekt ausgerichtet sind, da sie zu unterschiedlichen Zeitpunkten aufgezeichnet wurden.

Filtern

Eines der leistungsstärksten Tools für die Analyse ist das Filtern. Damit können Sie Daten ausblenden, die für Sie nicht von unmittelbarem Interesse sind.

Sie können Zeitreihendaten nach folgenden Kriterien filtern:

  • Zeit:
  • Wert eines oder mehrerer Labels.

Die folgende Abbildung zeigt das Ergebnis, wenn nur die roten Zeitachsen aus dem ursprünglichen Satz von Rohzeitachsen dargestellt werden (siehe Abbildung 1):

Grafik mit einer der Rohzeitachsen: rot
Abbildung 2: eine Rohzeitachse nach dem Filtern

Diese durch Filtern ausgewählte Zeitreihe wird im nächsten Abschnitt verwendet, um die Ausrichtung zu demonstrieren.

Aggregation

Eine weitere Möglichkeit, die Datenmenge zu reduzieren, besteht darin, sie zusammenzufassen oder zusammenzufassen. Die Aggregation umfasst zwei Aspekte:

  • Ausrichtung oder Regularisierung von Daten innerhalb einer einzelnen Zeitreihe.
  • Reduzierung oder Kombination mehrerer Zeitachsen

Sie müssen Zeitachsen ausrichten, bevor Sie sie reduzieren können. In den nächsten Abschnitten wird die Ausrichtung und Reduzierung von Zeitachsen beschrieben, in denen Ganzzahlwerte gespeichert werden. Diese allgemeinen Konzepte gelten auch, wenn eine Zeitreihe den Werttyp Distribution hat. In diesem Fall gibt es jedoch einige zusätzliche Einschränkungen. Weitere Informationen finden Sie unter Verteilungsmesswerte.

Ausrichtung: Regularisierung innerhalb der Reihe

Der erste Schritt beim Aggregieren von Zeitachsendaten ist die Ausrichtung. Durch die Ausrichtung wird eine neue Zeitreihe erstellt, in der die Rohdaten zeitlich regularisiert wurden, sodass sie mit anderen ausgerichteten Zeitreihen kombiniert werden können. Bei der Ausrichtung werden Zeitachsen mit regelmäßig verteilten Daten erstellt.

Die Ausrichtung umfasst zwei Schritte:

  1. Unterteilen der Zeitachsen in regelmäßige Zeitintervalle, auch Daten-Bucketing genannt. Das Intervall wird als Zeitraum, Ausrichtungszeitraum oder Ausrichtungsfenster bezeichnet.

  2. Einen einzelnen Wert für die Punkte im Ausrichtungszeitraum berechnen Sie können wählen, wie dieser einzelne Punkt berechnet werden soll. Sie können alle Werte summieren, ihren Durchschnitt berechnen oder das Maximum verwenden.

Da die neue Zeitreihe, die durch die Ausrichtung erstellt wird, alle Werte aus der Rohzeitreihe, die innerhalb des Ausrichtungszeitraums liegen, mit einem einzigen Wert darstellt, wird sie auch als Reduzierung innerhalb der Reihe oder Aggregation innerhalb der Reihe bezeichnet.

Zeitintervalle regulieren

Zur Analyse von Zeitachsendaten müssen die Datenpunkte auf gleichmäßig verteilten Zeitgrenzen verfügbar sein. Ausrichtung ist der Prozess, um dies zu erreichen.

Durch die Ausrichtung wird eine neue Zeitreihe mit einem konstanten Intervall, dem Ausrichtungszeitraum, zwischen den Datenpunkten erstellt. Die Ausrichtung wird normalerweise auf mehrere Zeitachsen angewendet, um eine weitere Bearbeitung zu ermöglichen.

In diesem Abschnitt werden die Ausrichtungsschritte anhand einer einzelnen Zeitreihe veranschaulicht. In diesem Beispiel wird ein Ausrichtungszeitraum von einer Stunde auf die in Abbildung 2 dargestellte Beispielzeitreihe angewendet. Die Zeitreihe zeigt Daten, die über drei Stunden erfasst wurden. Die Aufteilung der Datenpunkte in einstündige Zeiträume führt in jedem Zeitraum zu folgenden Punkten:

Period Werte
1:01–2:00 400, 350, 300, 200
2:01–3:00 200, 100
3:01–4:00 300, 250, 200

Ausrichtungszeiträume auswählen

Die Dauer des Abgleichszeitraums hängt von zwei Faktoren ab:

  • Die Detaillierungsgrad dessen, was Sie in den Daten finden möchten.
  • Der Stichprobenzeitraum der Daten. also wie oft es gemeldet wird.

In den folgenden Abschnitten werden diese Faktoren genauer erläutert.

Außerdem speichert Cloud Monitoring Messwertdaten für einen begrenzten Zeitraum. Der Zeitraum variiert je nach Messwerttyp. Weitere Informationen finden Sie unter Datenaufbewahrung. Der Aufbewahrungszeitraum ist der längste aussagekräftige Ausrichtungszeitraum.

Detaillierungsgrad

Wenn Sie wissen, dass etwas innerhalb weniger Stunden passiert ist, und Sie sich eingehender damit befassen möchten, sollten Sie für die Ausrichtung einen Zeitraum von einer Stunde oder einer bestimmten Anzahl von Minuten verwenden.

Wenn Sie Trends über einen längeren Zeitraum untersuchen möchten, ist ein längerer Ausrichtungszeitraum möglicherweise besser geeignet. Große Ausrichtungszeiträume sind in der Regel nicht geeignet, um kurzfristige anomale Bedingungen zu betrachten. Wenn Sie beispielsweise einen mehrwöchigen Ausrichtungszeitraum verwenden, ist das Vorhandensein einer Anomalie in diesem Zeitraum vielleicht noch erkennbar, aber die ausgerichteten Daten sind möglicherweise zu grob, um viel zu helfen.

Abtastrate

Die Häufigkeit, mit der die Daten geschrieben werden, die Abtastrate, kann sich auch auf die Wahl des Ausrichtungszeitraums auswirken. Die Abtastraten für integrierte Messwerte können Sie der Liste der Messwerte entnehmen. Betrachten Sie die folgende Abbildung, die eine Zeitreihe mit einer Abtastrate von einem Punkt pro Minute zeigt:

Diagramm mit Rohdaten mit einem Zeitraum von einer Minute

Wenn der Ausrichtungszeitraum mit dem Stichprobenzeitraum übereinstimmt, gibt es in jedem Ausrichtungszeitraum einen Datenpunkt. Das bedeutet, dass beispielsweise die Anwendung der Ausrichtungstools max, mean oder min zu derselben ausgerichteten Zeitreihe führt. Die folgende Abbildung zeigt dieses Ergebnis zusammen mit der ursprünglichen Zeitreihe als verblasste Linie:

Diagramm einer ausgerichteten Zeitreihe, bei der der Zeitraum dem Stichprobenzeitraum entspricht.

Weitere Informationen zur Funktionsweise von Aligner-Funktionen finden Sie unter Aligner.

Wenn für den Ausrichtungszeitraum zwei Minuten festgelegt wurden oder der Stichprobenzeitraum verdoppelt wurde, gibt es für jeden Zeitraum zwei Datenpunkte. Wenn die Aligner max, mean oder min auf die Punkte innerhalb des zweiminütigen Ausrichtungszeitraums angewendet werden, weichen die resultierenden Zeitachsen ab. Die folgende Abbildung zeigt diese Ergebnisse zusammen mit der ursprünglichen Zeitreihe als verblasste Linie:

Diagramm der ausgerichteten Zeitachsen mit dem Zeitraum, in dem der Stichprobenzeitraum verdoppelt wird

Wenn Sie einen Ausrichtungszeitraum auswählen, sollte dieser länger als der Stichprobenzeitraum sein, aber kurz genug, um relevante Trends anzuzeigen. Möglicherweise müssen Sie experimentieren, um einen geeigneten Ausrichtungszeitraum zu ermitteln. Wenn beispielsweise Daten mit einer Rate von einem Punkt pro Tag erfasst werden, ist ein Ausrichtungszeitraum von einer Stunde zu kurz, um nützlich zu sein: Für die meisten Stunden gibt es keine Daten.

Ausrichter

Nachdem die Daten in Ausrichtungszeiträume aufgeteilt wurden, wählen Sie eine Funktion, den Ausrichter, aus, der auf die Datenpunkte in diesem Zeitraum angewendet werden soll. Der Ausrichter erzeugt einen einzelnen Wert, der am Ende jedes Ausrichtungszeitraums platziert wird.

Zu den Ausrichtungsoptionen gehören das Summieren der Werte, das Ermitteln des Maximal-, Minimal- oder Mittelwerts der Werte, das Ermitteln eines ausgewählten Perzentilwerts, das Zählen der Werte und andere. Die Cloud Monitoring API unterstützt eine große Anzahl von Ausrichtungsfunktionen, die weit über die hier dargestellten hinausgehen. Eine vollständige Liste finden Sie unter Aligner. Eine Beschreibung der Rate- und Delta-Aligner, die Zeitreihendaten transformieren, finden Sie unter Arten, Typen und Umwandlungen.

Wenn Sie beispielsweise die gruppierten Daten aus der Rohzeitachse verwenden (siehe Abbildung 1), wählen Sie einen Ausrichter aus und wenden Sie ihn auf die Daten in jedem Bucket an. Die folgende Tabelle zeigt die Rohwerte und die Ergebnisse von drei verschiedenen Ausrichtern: Maximalwert, Mittelwert und Mindestwert:

Period Werte Ausrichter: Maximalwert Ausrichter: Mittelwert Ausrichter: Mindestwert
1:01–2:00 400, 350, 300, 200 400 312.5 200
2:01–3:00 200, 100 200 150 100
3:01–4:00 300, 250, 200 300 250 200

Die folgende Abbildung zeigt die Ergebnisse der Anwendung der Ausrichtungstools max, mean oder min mit einem Ausrichtungszeitraum von 1 Stunde auf die ursprüngliche rote Zeitreihe (dargestellt durch die verblasste Linie in der Abbildung):

Grafik mit den roten Zeitachsen nach Anwendung einer von drei verschiedenen Ausrichtern.
Abbildung 3: Eine Zeitreihe, auf drei Arten ausgerichtet

Einige andere Ausrichter

Die folgende Tabelle zeigt dieselben Rohwerte und die Ergebnisse von drei anderen Ausrichtern:

  • Count zählt die Anzahl der Werte im Ausrichtungszeitraum.
  • Summe addiert alle Werte im Ausrichtungszeitraum.
  • Nächste Ältere verwendet den neuesten Wert im Zeitraum als Ausrichtungswert.
Period Werte Ausrichter: Anzahl Ausrichter: Summe Ausrichter: nächst Ältere
1:01–2:00 400, 350, 300, 200 4 1250 200
2:01–3:00 200, 100 2 300 100
3:01–4:00 300, 250, 200 3 750 200

Diese Ergebnisse werden nicht in einem Diagramm angezeigt.

Reduktion: Kombination von Zeitachsen

Der nächste Schritt im Prozess, die Reduzierung, ist das Kombinieren mehrerer ausgerichteter Zeitreihen zu einer neuen Zeitreihe. In diesem Schritt werden alle Werte an der Grenze des Ausrichtungszeitraums durch einen einzelnen Wert ersetzt. Da die Reduzierung über verschiedene Zeitachsen hinweg funktioniert, wird sie auch als seriöse Aggregation bezeichnet.

Reduzierungen

Ein Reduzierer ist eine Funktion, die auf die Werte in einer Reihe von Zeitachsen angewendet wird, um einen einzelnen Wert zu erzeugen.

Zu den Reduzierungsoptionen gehören das Summieren der ausgerichteten Werte oder das Ermitteln des Höchst-, Mindest- oder Mittelwerts der Werte. Die Cloud Monitoring API unterstützt eine Vielzahl von Reduzierungsfunktionen. Die vollständige Liste finden Sie unter Reducer. Die Liste der Reduzierer entspricht der Liste der Ausrichter.

Zeitachsen müssen ausgerichtet werden, bevor sie reduziert werden können. Die folgende Abbildung zeigt die Ergebnisse der Ausrichtung aller drei Rohzeitreihen (aus Abbildung 1) in 1-Stunden-Zeiträumen mit dem Aligner mean:

Grafik mit drei durchschnittlich ausgerichteten Zeitachsen
Abbildung 4: Drei Zeitachsen, Mittelwert ausgerichtet

Die Werte aus den drei Mittelwert-Zeitachsen (siehe Abbildung 4) sind in der folgenden Tabelle aufgeführt:

Begrenzung der Ausrichtung Rot Blau Grün
2:00 312.5 133.3 400
3:00 150 283.3 433.3
4:00 250 300 350

Wählen Sie anhand der ausgerichteten Daten in der vorherigen Tabelle einen Reduzierer aus und wenden Sie ihn auf die Werte an. In der folgenden Tabelle sehen Sie die Ergebnisse, wenn verschiedene Reducer auf die am Mittelwert ausgerichteten Daten angewendet werden:

Begrenzung der Ausrichtung Reduzierer: Maximalwert Reduzierer: Mittelwert Reduzierer: Mindestwert Reduzierer: Summe
2:00 400 281.9 133.3 845.8
3:00 433.3 288.9 150 866.7
4:00 350 300 250 900

Standardmäßig wird die Reduzierung auf alle Zeitreihen angewendet, was zu einer einzigen Zeitreihe führt. Die folgende Abbildung zeigt das Ergebnis der Aggregation der drei auf den Mittelwert ausgerichteten Zeitreihen mit dem Reduzierer max, der die höchsten Mittelwerte in den Zeitreihen liefert:

Grafik, die das Ergebnis der Verwendung des max. Reduzierers für Zeitachsen mit Mittelausrichtung zeigt.
Abbildung 5: Maximale Reduzierung der drei durchschnittlich ausgerichteten Zeitachsen

Die Reduzierung kann auch mit einer Gruppierung kombiniert werden, bei der Zeitachsen in Kategorien organisiert werden und der Reduzierer auf die Zeitachsen in jeder Gruppe angewendet wird.

Gruppierung

Durch die Gruppierung können Sie einen Reducer auf Teilmengen Ihrer Zeitreihen anwenden, anstatt auf die gesamte Gruppe von Zeitreihen. Um Zeitachsen zu gruppieren, wählen Sie ein oder mehrere Labels aus. Die Zeitachsen werden dann basierend auf ihren Werten für die ausgewählten Labels gruppiert. Die Gruppierung führt zu einer Zeitreihe für jede Gruppe.

Wenn ein Messwerttyp Werte für die Labels zone und color aufzeichnet, können Sie Zeitachsen nach einem oder beiden Labels gruppieren. Wenn Sie den Reducer anwenden, wird jede Gruppe auf eine einzelne Zeitreihe reduziert. Wenn Sie nach Farbe gruppieren, erhalten Sie eine Zeitreihe für jede Farbe, die in den Daten dargestellt wird. Wenn Sie nach Zone gruppieren, erhalten Sie für jede Zone, die in den Daten vorkommt, eine Zeitreihe. Wenn Sie nach beiden gruppieren, erhalten Sie für jede Kombination aus Farben und Zonen eine Zeitachse.

Angenommen, Sie haben viele Zeitachsen mit den Werten "rot", "blau" und "grün" für das Label color erfasst. Nachdem alle Zeitachsen ausgerichtet wurden, können sie nach color-Wert gruppiert und dann nach Gruppe reduziert werden. Daraus ergeben sich drei farbspezifische Zeitachsen:

Grafik mit nach Farbe gruppierten und reduzierten Zeitachsen.
Abbildung 6: Zeitachsen, nach Farbe gruppiert und reduziert

Im Beispiel werden der verwendete Aligner oder Reducer nicht angegeben. Der Punkt ist, dass Sie mit der Gruppierung eine große Anzahl von Zeitreihen in eine kleinere Menge reduzieren können, wobei jede Zeitreihe eine Gruppe mit einem gemeinsamen Attribut darstellt: in diesem Beispiel der Wert des Labels color.

Sekundäre Aggregation

Cloud Monitoring führt zwei Aggregationsschritte aus.

  • Bei der primären Aggregation werden die gemessenen Daten regularisiert und die regularisierten Zeitreihen dann mit einem Reducer kombiniert. Wenn Sie die Gruppierung verwenden, können sich aus der Reduzierung, die im Rahmen dieses Schritts durchgeführt wird, mehrere Zeitreihen ergeben.

  • Mit der sekundären Aggregation, die auf die Ergebnisse des primären Aggregationsschritts angewendet wird, können Sie die gruppierten Zeitreihen mithilfe eines zweiten Reduzierers zu einem Ergebnis kombinieren.

Die folgende Tabelle zeigt die Werte der gruppierten Zeitachsen (siehe Abbildung 6):

Begrenzung der Ausrichtung Rote Gruppe Blaue Gruppe Grüne Gruppe
2:00 400 150 450
3:00 200 350 450
4:00 300 300 400

Diese drei bereits verkürzten Zeitachsen können durch sekundäre Aggregation noch weiter reduziert werden. Die folgende Tabelle zeigt die Ergebnisse der Anwendung ausgewählter Reduzierungen:

Begrenzung der Ausrichtung Reduzierer: Maximalwert Reduzierer: Mittelwert Reduzierer: Mindestwert Reduzierer: Summe
2:00 450 333.3 150 1000
3:00 450 333.3 200 1000
4:00 400 333.3 300 1000

Die folgende Abbildung zeigt das Ergebnis der Aggregation der drei gruppierten Reihen mit dem Mittelwert:

Grafik, die das Ergebnis der mittleren Reduzierung bei gruppenreduzierten Zeitachsen zeigt.
Abbildung 7: Gruppierte Zeitachsen nach durchschnittlicher sekundärer Aggregation

Arten, Typen und Conversions

Die Datenpunkte in einer Zeitreihe sind durch eine Messwertart und einen Werttyp gekennzeichnet. Weitere Informationen finden Sie unter Werttypen und Messwertarten. Die entsprechenden Ausrichter und Redigenten für einen Datensatz sind möglicherweise nicht für einen anderen Datensatz geeignet. Zum Beispiel eignet sich ein Ausrichter oder Reduzierer, der die Anzahl falscher Werte zählt, für boolesche Daten, aber nicht für numerische Daten. Gleichermaßen ist ein Ausrichter oder Reduzierer, der einen Mittelwert berechnet, auf numerische Daten anwendbar, aber nicht auf boolesche Daten.

Einige Aligner und Reducer können auch verwendet werden, um entweder die Messwertart oder den Werttyp der Daten in einer Zeitreihe explizit zu ändern. Einige, z. B. ALIGN_COUNT, tun dies als Nebeneffekt.

  • Messwertart: Ein kumulativer Messwert ist ein Messwert, bei dem jeder Wert die Summe seit Beginn der Werterfassung darstellt. Kumulative Messwerte können nicht direkt in Diagrammen verwendet werden. Sie können jedoch Delta-Messwerte verwenden, bei denen jeder Wert die Änderung seit der vorherigen Messung darstellt.

    Sie können auch kumulative und Delta-Messwerte in Messwerte umwandeln. Betrachten Sie beispielsweise einen Delta-Messwert, dessen Zeitreihe so aussieht:

    (Startzeit, Endzeit] (Minuten) Wert (MiB)
    (0, 2] 8
    (2, 5] 6
    (6, 9] 9

    Angenommen, Sie haben einen ALIGN_DELTA-Aligner und einen Ausrichtungszeitraum von drei Minuten ausgewählt. Da der Ausrichtungszeitraum nicht mit der (Startzeit, Endzeit] für jede Stichprobe übereinstimmt, wird eine Zeitreihe mit interpolierten Werten erstellt. In diesem Beispiel sieht die interpolierte Zeitreihe so aus:

    (Startzeit, Endzeit] (Minuten) Interpolierter Wert (MiB)
    (0, 1] 4
    (1, 2] 4
    (2, 3] 2
    (3, 4] 2
    (4, 5] 2
    (5, 6] 0
    (6, 7] 3
    (7, 8] 3
    (8, 9] 3

    Als Nächstes werden alle Punkte innerhalb des dreiminütigen Ausrichtungszeitraums addiert, um die ausgerichteten Werte zu generieren:

    (Startzeit, Endzeit] (Minuten) Ausgerichteter Wert (MiB)
    (0, 3] 10
    (3, 6] 4
    (6, 9] 9

    Für ALIGN_RATE ist der Vorgang identisch, außer dass die ausgerichteten Werte durch den Ausrichtungszeitraum geteilt werden. In diesem Beispiel beträgt der Ausrichtungszeitraum drei Minuten. Die ausgerichtete Zeitreihe hat also die folgenden Werte:

    (Startzeit, Endzeit] (Minuten) Ausgerichteter Wert (MiB/Sekunde)
    (0, 3] 0.056
    (3, 6] 0.022
    (6, 9] 0.050

    Für die grafische Darstellung eines kumulativen Messwerts muss dieser in einen Deltamesswert oder in einen Ratenmesswert umgewandelt werden. Der Vorgang für kumulative Messwerte ist mit dem vorherigen Vorgehen identisch. Sie können eine Delta-Zeitreihe aus einer kumulativen Zeitreihe berechnen, indem Sie die Differenz benachbarter Begriffe berechnen.

  • Werttyp: Bei einigen Ausrichtern und Reduzierern bleibt der Werttyp der Eingabedaten unverändert. Ganzzahldaten sind beispielsweise nach der Ausrichtung immer noch Ganzzahldaten. Andere Ausrichter und Reduzierer konvertieren Daten von einem Typ in einen anderen. Dies bedeutet, dass die Informationen auf eine Weise analysiert werden können, die nicht dem ursprünglichen Werttyp entspricht.

    Beispielsweise kann der REDUCE_COUNT-Reduzierer auf numerische, boolesche, String- und Verteilungsdaten angewendet werden. Das Ergebnis ist jedoch eine 64-Bit-Ganzzahl, die die Anzahl der Werte im Punkt zählt. REDUCE_COUNT kann nur auf Gauge- und Delta-Metriken angewendet werden und lässt die Art der Metrik unverändert.

In den Referenztabellen für Aligner und Reducer ist angegeben, für welche Art von Daten jeweils eine Conversion geeignet ist. Hier sehen Sie beispielsweise den Eintrag für ALIGN_DELTA:

Bezugseintrag für Delta Ausrichter