Verwenden von Metrikberechnungen - Amazon CloudWatch

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Verwenden von Metrikberechnungen

Mit metrischer Mathematik können Sie mehrere CloudWatch Metriken abfragen und mithilfe mathematischer Ausdrücke neue Zeitreihen auf der Grundlage dieser Metriken erstellen. Sie können die resultierenden Zeitreihen auf der CloudWatch Konsole visualisieren und sie zu Dashboards hinzufügen. Am Beispiel von AWS Lambda Metriken könnten Sie die Errors Metrik durch die Invocations Metrik dividieren, um eine Fehlerquote zu erhalten. Fügen Sie dann die resultierende Zeitreihe zu einem Diagramm auf Ihrem CloudWatch Dashboard hinzu.

Sie können Metrikberechnungen auch mithilfe der GetMetricData-API-Operation programmgesteuert durchführen. Weitere Informationen finden Sie unter GetMetricData.

Fügen Sie einem CloudWatch Diagramm einen mathematischen Ausdruck hinzu

Sie können einem Diagramm auf Ihrem CloudWatch Dashboard einen mathematischen Ausdruck hinzufügen. Jedes Diagramm ist auf die Nutzung von maximal 500 Metriken und Ausdrücke begrenzt. Daher können Sie einen mathematischen Ausdruck nur dann hinzufügen, wenn das Diagramm 499 oder weniger Metriken aufweist. Dies gilt auch dann, wenn nicht alle Metriken im Diagramm angezeigt werden.

So fügen Sie einem Diagramm einen mathematischen Ausdruck hinzu
  1. Öffnen Sie die CloudWatch Konsole unter https://console.aws.amazon.com/cloudwatch/.

  2. Erstellen oder bearbeiten Sie ein Diagramm. Es muss mindestens eine Metrik im Diagramm vorhanden sein.

  3. Wählen Sie Graphed metrics (Grafisch dargestellte Metrik) aus.

  4. Wählen Sie die Option Math expression (mathematischer Ausdruck), Start with empty expression (Mit leerem Ausdruck beginnen) aus. Eine neue Zeile wird für den Ausdruck angezeigt.

  5. Geben Sie in der neuen Zeile unter der Spalte Details den mathematischen Ausdruck ein. In den Tabellen im Abschnitt Metriken Mathematische Syntax und Funktionen werden die Funktionen aufgeführt, die Sie in dem Ausdruck verwenden können.

    Um eine Metrik oder das Ergebnis eines anderen Ausdrucks als Teil der Formel für diesen Ausdruck zu nutzen, verwenden Sie den in der Spalte Id (ID) angezeigten Wert, z. B. m1+m2 oder e1-MIN(e1).

    Sie können den Wert von Id (ID) ändern. Er kann Ziffern, Buchstaben und Unterstriche enthalten und muss mit einem Kleinbuchstaben beginnen. Sie können das Diagramm leichter lesbar machen, indem Sie den ID-Wert umbenennen, zum Beispiel von m1 und m2 zu errors (Fehler) und requests (Anfragen).

    Tipp

    Wählen Sie den Pfeil nach unten neben Math Expression (Mathematischer Ausdruck), um eine Liste der unterstützten Funktionen anzuzeigen, die Sie beim Erstellen des Ausdrucks verwenden können.

  6. Geben Sie in der Spalte Label (Bezeichnung) des Ausdrucks einen Namen ein, der beschreibt, was der Ausdruck berechnet.

    Wenn das Ergebnis eines Ausdrucks ein Array von Zeitreihen ist, wird jede dieser Zeitreihen in dem Diagramm als eigene Zeile in einer eigenen Farbe angezeigt. Direkt unterhalb des Diagramms wird für jede Zeile im Diagramm eine Legende angezeigt. Für einen einzelnen Ausdruck, der mehrere Zeitreihen erstellt, sind die Legendenuntertitel für diese Zeitreihen im Format Ausdruck-Beschriftungsmetrik-Beschriftung. Beispiel: Wenn das Diagramm eine Metrik mit der Beschriftung Errors (Fehler) und einem Ausdruck FILL(METRICS(), 0) mit der Beschriftung Filled With 0: (Gefüllt mit 0:) enthält, lautet eine Zeile in der Legende Filled With 0: Errors (Gefüllt mit 0: Fehler). Damit in der Legende nur die ursprünglichen Bezeichnungen der Metriken angezeigt werden, muss Expression Label (Ausdruck-Bezeichnung) leer sein.

    Wenn ein Ausdruck ein Array mit Zeitreihen in dem Diagramm erzeugt, können Sie die Farben der einzelnen Zeitreihen nicht ändern.

  7. Nachdem Sie die gewünschten Ausdrücke hinzugefügt haben, können Sie optional das Diagramm vereinfachen, indem Sie einen Teil der ursprünglichen Metriken ausblenden. Um eine Metrik oder einen Ausdruck auszublenden, deaktivieren Sie das Kontrollkästchen links neben dem Feld Id (ID).

Syntax und Funktionen von Metrikberechnungen

In den folgenden Abschnitten werden die für Metrikberechnungen verfügbaren Funktionen erläutert. Alle Funktionen müssen in Großbuchstaben geschrieben werden (z. B. AVG). Einträge im Feld Id (ID) für alle Metriken und mathematischen Ausdrücke müssen dagegen mit einem Kleinbuchstaben beginnen.

Das Endergebnis jedes mathematischen Ausdrucks muss eine einzelne Zeitreihe oder ein Array von Zeitreihen sein. Einige Funktionen erzeugen eine skalare Zahl. Sie können diese Funktionen innerhalb einer größeren Funktion verwenden, die letztendlich eine Zeitreihe generiert. Wenn Sie beispielsweise den Durchschnitt (AVG) einer einzelnen Zeitreihe errechnen, wird dadurch eine skalare Zahl generiert, sodass dies nicht das endgültige Ausdrucksergebnis sein kann. Aber Sie könnten es in der Funktion m1-AVG(m1) verwenden, um eine Zeitreihe der Differenz zwischen jedem einzelnen Datenpunkt und dem Mittelwert in der Zeitreihe anzuzeigen.

Datentypabkürzungen

Einige Funktionen sind nur für bestimmte Arten von Daten gültig. Die Abkürzungen in der folgenden Liste werden in den Tabellen der Funktionen verwendet, um die Datentypen darzustellen, die für jede Funktion unterstützt werden:

  • S stellt eine skalare Zahl dar, wie etwa 2, -5 oder 50,25.

  • TS ist eine Zeitreihe (eine Reihe von Werten für eine einzelne CloudWatch Metrik im Zeitverlauf): zum Beispiel die CPUUtilization Metrik der i-1234567890abcdef0 letzten drei Tage.

  • TS [] ist ein Array von Zeitreihen, z. B. die Zeitreihe für mehrere Metriken.

  • String[] ist ein Array von Zeichenfolgen.

Die METRICS()-Funktion

Die METRICS()-Funktion gibt alle Metriken in der Anfrage zurück. Mathematische Ausdrücke sind nicht enthalten.

Sie können METRICS() innerhalb eines größeren Ausdrucks verwenden, der letztendlich eine einzige Zeitreihe oder ein Array mit Zeitreihen generiert. Beispielsweise gibt der Ausdruck SUM(METRICS()) eine Zeitreihe (TS) zurück, die die Summe der Werte aller grafisch dargestellten Metriken ist. METRICS()/100 gibt ein Array von Zeitreihen zurück. Jede Zeitreihe zeigt dabei einen Datenpunkt eines der Metriken geteilt durch 100 an.

Sie können die METRICS()-Funktion mit einer Zeichenfolge verwenden, um nur die grafisch dargestellten Metriken zurückzugeben, die diese Zeichenfolge in ihrem Feld Id (ID) enthalten. Beispielsweise gibt der Ausdruck SUM(METRICS("errors")) eine Zeitreihe zurück, die die Summe der Werte aller grafisch dargestellten Metriken ist, die in ihrem Feld Id (ID) "errors", also Fehler, haben. Sie können auch SUM([METRICS(“4xx”), METRICS(“5xx”)]) verwenden, um mehrere Zeichenfolgen abzugleichen.

Grundlegende arithmetische Funktionen

In der folgenden Tabelle sind die unterstützten grundlegenden arithmetischen Funktionen aufgeführt. Fehlende Werte in Zeitreihen werden als 0 (Null) behandelt. Wenn der Wert eines Datenpunkts dazu führt, dass eine Funktion versucht, durch Null zu teilen, wird dieser Datenpunkt verworfen.

Operation Argumente Beispiele

Arithmetische Operatoren: + - * / ^

S, S

S, TS

TS, TS

S, TS[]

TS, TS[]

PERIOD(m1)/60

5 * m1

m1 - m2

SUM(100/[m1, m2])

AVG(METRICS())

METRICS()*100

Unäre Subtraktion –

S

TS

TS[]

-5*m1

-m1

SUM(-[m1, m2])

Vergleichs- und logische Operatoren

Sie können Vergleichs- und logische Operatoren entweder mit einem Paar von Zeitreihen oder einem Paar einzelner Skalarwerte verwenden. Wenn Sie einen Vergleichsoperator mit einem Paar von Zeitreihen verwenden, geben die Operatoren eine Zeitreihe zurück, bei der jeder Datenpunkt entweder 0 (false) oder 1 (true) ist. Wenn Sie einen Vergleichsoperator für ein Paar von skalaren Werten verwenden, wird ein einzelner skalarer Wert zurückgegeben, entweder 0 oder 1.

Wenn Vergleichsoperatoren zwischen zwei Zeitreihen verwendet werden und nur eine der Zeitreihen einen Wert für einen bestimmten Zeitstempel aufweist, behandelt die Funktion den fehlenden Wert in der anderen Zeitreihe als 0.

Sie können logische Operatoren in Verbindung mit Vergleichsoperatoren verwenden, um komplexere Funktionen zu erstellen.

In der folgenden Tabelle sind die unterstützten Operatoren aufgeführt.

Art des Operators Unterstützte Operatoren

Vergleichsoperatoren

==

!=

<=

>=

<

>

Logische Operatoren

UND oder &&

ODER oder ||

Um zu sehen, wie diese Operatoren verwendet werden, nehmen wir an, wir haben zwei Zeitreihen: metric1 hat Werte von [30, 20, 0, 0] und metric2 hat Werte von [20, -, 20, -], wobei - anzeigt, dass es keinen Wert für diesen Zeitstempel gibt.

Expression Output

(metric1 < metric2)

0, 0, 1, 0

(metric1 >= 30)

1, 0, 0, 0

(metric1 > 15 AND metric2 > 15)

1, 0, 0, 0

Für Metrikberechnungen unterstützte Funktionen

In der folgenden Tabelle werden die Funktionen beschrieben, die Sie in mathematischen Ausdrücken verwenden können. Geben Sie alle Funktionen in Großbuchstaben ein.

Das Endergebnis jedes mathematischen Ausdrucks muss eine einzelne Zeitreihe oder ein Array von Zeitreihen sein. Einige Funktionen in Tabellen in den folgenden Abschnitten erzeugen skalare Zahlen. Sie können diese Funktionen innerhalb einer größeren Funktion verwenden, die letztendlich eine Zeitreihe generiert. Wenn Sie beispielsweise den Durchschnitt (AVG) einer einzelnen Zeitreihe errechnen, wird dadurch eine skalare Zahl generiert, sodass dies nicht das endgültige Ausdrucksergebnis sein kann. Aber Sie könnten es in der Funktion m1-AVG(m1) verwenden, um eine Zeitreihe der Differenz zwischen den einzelnen individuellen Datenpunkten und dem Durchschnittswert dieser Datenpunkte anzuzeigen.

In der folgenden Tabelle ist jedes Beispiel in der Spalte Examples (Beispiele) ein Ausdruck, der eine einzelne Zeitreihe oder ein Array von Zeitreihen erzeugt. Dies zeigt, wie Funktionen, die skalare Zahlen zurückgeben, in einem gültigen Ausdruck verwendet werden können, der eine einzelne Zeitreihe erzeugt.

Funktion Argumente Typ der Rückgabe* Beschreibung Beispiele Kontoübergreifender Support?

ABS

TS

TS[]

TS

TS[]

Gibt den absoluten Wert des einzelnen Datenpunkts zurück.

ABS(m1-m2)

MIN(ABS([m1, m2]))

ABS(METRICS())

ANOMALY_DETECTION_BAND

TS

TS, S

TS[]

Gibt ein Anomalieerkennungsband für die angegebene Metrik zurück. Das Band besteht aus zwei Zeitreihen, einer für die Obergrenze des "normalen" erwarteten Wertes der Metrik und die andere für die Untergrenze. Die Funktion besitzt zwei mögliche Argumente. Das erste ist die ID der Metrik, für die das Band erstellt werden soll. Das zweite Argument ist die Anzahl der für das Band zu verwendenden Standardabweichungen. Wenn Sie dieses Argument nicht angeben, wird der Standardwert 2 verwendet wird. Weitere Informationen finden Sie unter Verwendung der CloudWatch Anomalieerkennung.

ANOMALY_DETECTION_BAND(m1)

ANOMALY_DETECTION_BAND(m1,4)

AVG

TS

TS[]

S

TS

Der Durchschnitt (AVG) einer einzelnen Zeitreihe gibt eine Skalarzahl zurück, die den Durchschnitt aller Datenpunkte in der Metrik darstellt. Der Durchschnitt (AVG) eines Arrays von Zeitreihen gibt eine einzige Zeitreihe zurück. Fehlende Werte werden als 0 (Null) behandelt.

Anmerkung

Wir empfehlen, diese Funktion nicht in CloudWatch Alarmen zu verwenden, wenn Sie möchten, dass die Funktion einen Skalar zurückgibt. z. B. AVG(m2). Immer wenn ein Alarm auswertet, ob der Status geändert werden soll, CloudWatch versucht er, eine höhere Anzahl von Datenpunkten abzurufen als die als Bewertungszeiträume angegebene Zahl. Diese Funktion wirkt anders, wenn zusätzliche Daten angefordert werden.

Um diese Funktion mit Alarmen zu verwenden, insbesondere mit Alarmen, die über Auto-Scaling-Aktionen verfügen, empfehlen wir Ihnen, den Alarm so einzustellen, dass er M von N Datenpunkten verwendet, wobei M < N ist.

SUM([m1,m2])/AVG(m2)

AVG(METRICS())

CEIL

TS

TS[]

TS

TS[]

Gibt die Obergrenze jeder Metrik zurück. Die Obergrenze ist die kleinste Ganzzahl, die größer oder gleich jedem Wert ist.

CEIL(m1)

CEIL(METRICS())

SUM(CEIL(METRICS()))

DATAPOINT_COUNT

TS

TS[]

S

TS

Gibt die Anzahl der Datenpunkte zurück, die Werte gemeldet haben. Dies ist nützlich für die Berechnung von Durchschnittswerten für spärlichere Metriken.

Anmerkung

Wir empfehlen, diese Funktion nicht für CloudWatch Alarme zu verwenden. Immer wenn ein Alarm auswertet, ob der Status geändert werden soll, CloudWatch versucht er, eine höhere Anzahl von Datenpunkten abzurufen als die als Bewertungszeiträume angegebene Anzahl. Diese Funktion wirkt anders, wenn zusätzliche Daten angefordert werden.

SUM(m1) / DATAPOINT_COUNT(m1)

DATAPOINT_COUNT(METRICS())

DB_PERF_INSIGHTS

Zeichenkette, Zeichenkette, Zeichenkette

String, String, String[]

TS (wenn eine einzelne Zeichenfolge angegeben wird)

TS [] (wenn ein Array von Zeichenketten angegeben wird)

Liefert Zählermetriken von Performance Insights für Datenbanken wie Amazon Relational Database Service und Amazon DocumentDB (mit MongoDB-Kompatibilität). Diese Funktion gibt dieselbe Datenmenge zurück, die Sie erhalten können, wenn Sie die Performance-Insights-APIs direkt abfragen. Sie können diese Messwerte verwenden, um CloudWatch Alarme grafisch darzustellen und zu erstellen.

Wichtig

Wenn Sie diese Funktion verwenden, müssen Sie die eindeutige Datenbankressourcen-ID der Datenbank angeben. Dies unterscheidet sich von der Datenbank-ID. Um die Datenbank-Ressourcen-ID in der Amazon-RDS-Konsole zu finden, wählen Sie die DB-Instance, um ihre Details anzuzeigen. Wechseln Sie zur Registerkarte Konfiguration. Die Ressourcen-ID wird im Abschnitt Konfiguration angezeigt.

DB_PERF_INSIGHTS fügt die DBLoad-Metrik auch in Intervallen unter einer Minute ein.

Mit dieser Funktion abgerufene Performance Insights Insights-Metriken werden nicht in gespeichert CloudWatch. Daher funktionieren einige CloudWatch Funktionen wie kontoübergreifende Observability, Anomalieerkennung, Metrik-Streams, Metrik-Explorer und Metric Insights nicht mit Performance Insights Insights-Metriken, die Sie mit DB_PERF_INSIGHTS abrufen.

Eine einzelne Anfrage mit der Funktion DB_PERF_INSIGHTS kann die folgende Anzahl von Datenpunkten abrufen.

  • 1080 Datenpunkte für Zeiträume mit hoher Auflösung (1s, 10s, 30s)

  • 1440 Datenpunkte für Zeiträume mit Standardauflösung (1 m, 5 m, 1 Stunde, 1 Tag)

Die Funktion DB_PERF_INSIGHTS unterstützt nur die folgenden Zeitraumlängen:

  • 1 Sekunde

  • 10 Sekunden

  • 30 Sekunden

  • 1 Minute

  • 5 Minuten

  • 1 Stunde

  • 1 Tag

Weitere Informationen zu den Zählermetriken aus Erkenntnissen zur Amazon-RDS-Leistung finden Sie unter Zählermetriken von Performance Insights.

Weitere Informationen zu den Zählermetriken aus Erkenntnissen zur Amazon-DocumentDB-Leistung finden Sie unter Zählermetriken für Performance Insights.

Anmerkung

Hochauflösende Metriken mit Subminuten-Granularität, die von DB_PERF_INSIGHTS abgerufen werden, gelten nur für die DBLoad-Metrik oder für Betriebssystem-Metriken, wenn Sie Enhanced Monitoring mit einer höheren Auflösung aktiviert haben. Weitere Informationen zur erweiterten Überwachung von Amazon RDS finden Sie unter Überwachen von Betriebssystemmetriken mit Enhanced Monitoring.

Mit der Funktion DB_PERF_INSIGHTS können Sie einen Alarm mit hoher Auflösung für einen Zeitraum von maximal drei Stunden erstellen. Sie können die CloudWatch Konsole verwenden, um mit der Funktion DB_PERF_INSIGHTS abgerufene Metriken für einen beliebigen Zeitraum grafisch darzustellen.

DB_PERF_INSIGHTS(‘RDS’, ‘db-ABCDEFGHIJKLMNOPQRSTUVWXY1’, ‘os.cpuUtilization.user.avg’)

DB_PERF_INSIGHTS(‘DOCDB, ‘db-ABCDEFGHIJKLMNOPQRSTUVWXY1’, [‘os.cpuUtilization.idle.avg’, ‘os.cpuUtilization.user.max’])

DIFF

TS

TS[]

TS

TS[]

Gibt die Differenz zwischen jedem Wert in der Zeitreihe und dem vorhergehenden Wert aus dieser Zeitreihe zurück.

DIFF(m1)

DIFF_TIME

TS

TS[]

TS

TS[]

Gibt die Differenz in Sekunden zwischen dem Zeitstempel jedes Wertes in der Zeitreihe und dem Zeitstempel des vorhergehenden Wertes aus dieser Zeitreihe zurück.

DIFF_TIME(METRICS())

FILL

TS, [S | REPEAT | LINEAR]

TS[], [TS | S | REPEAT | LINEAR]

TS

TS[]

Füllt die fehlenden Werte einer Zeitreihe. Es gibt mehrere Optionen für die Werte, die als Füllstoff für fehlende Werte verwendet werden sollen:

  • Sie können einen Wert angeben, der als Füllwert verwendet werden soll.

  • Sie können eine Metrik angeben, die als Füllungswert verwendet werden soll.

  • Sie können das Schlüsselwort REPEAT verwenden, um fehlende Werte mit dem neuesten tatsächlichen Wert der Metrik vor dem fehlenden Wert zu füllen.

  • Sie können das Schlüsselwort LINEAR verwenden, um die fehlenden Werte mit Werten zu füllen, die eine lineare Interpolation zwischen den Werten am Anfang und am Ende der Lücke erzeugen.

Anmerkung

Wenn Sie diese Funktion in einem Alarm verwenden, kann ein Problem auftreten, wenn Ihre Metriken mit einer leichten Verzögerung veröffentlicht werden und die letzte Minute keine Daten enthält. In diesem Fall ersetzt FILL den fehlenden Datenpunkt durch den angeforderten Wert. Dies führt dazu, dass der letzte Datenpunkt für die Metrik immer der FILL-Wert ist, was dazu führen kann, dass der Alarm entweder im OK-Zustand oder im ALARM-Zustand hängen bleibt. Sie können dies umgehen, indem Sie einen M-aus-N-Alarm verwenden. Weitere Informationen finden Sie unter Auswerten eines Alarms.

FILL(m1,10)

FILL(METRICS(), 0)

FILL(METRICS(), m1)

FILL(m1, MIN(m1))

FILL(m1, REPEAT)

FILL(METRICS(), LINEAR)

FIRST

LAST

TS[]

TS

Gibt die erste oder letzte Zeitreihe aus einem Array von Zeitreihen zurück. Dies ist nützlich bei Verwendung mit der SORT-Funktion. Es kann auch verwendet werden, um die hohen und niedrigen Schwellenwerte aus der Funktion ANOMALY_DETECTION_BAND zu erhalten.

IF(FIRST(SORT(METRICS(), AVG, DESC))>100, 1, 0) Betrachtet die obere Metrik aus einem Array, das nach AVG sortiert ist. Es gibt dann eine 1 oder 0 für jeden Datenpunkt zurück, je nachdem, ob dieser Datenpunktwert über 100 liegt.

AST(ANOMALY_DETECTION_BAND(m1)) gibt die obere Grenze des Anomalievorhersagebands zurück.

FLOOR

TS

TS[]

TS

TS[]

Gibt die Untergrenze jeder Metrik zurück. Die Untergrenze ist die größte Ganzzahl, die kleiner oder gleich jedem Wert ist.

FLOOR(m1)

FLOOR(METRICS())

IF

IF-Ausdruck

TS

Verwenden Sie IF zusammen mit einem Vergleichsoperator, um Datenpunkte aus einer Zeitreihe herauszufiltern oder eine gemischte Zeitreihe zu erstellen, die aus mehreren sortierten Zeitreihen besteht. Weitere Informationen finden Sie unter Verwenden von IF-Ausdrücken.

Beispiele finden Sie unter Verwenden von IF-Ausdrücken.

INSIGHT_RULE_METRIC

INSIGHT_RULE_METRIC(ruleName, metricName)

TS

Verwenden Sie INSIGHT_RULE_METRIC, um Statistiken aus einer Regel in Contributor Insights zu extrahieren. Weitere Informationen finden Sie unter Grafisches Darstellen von durch Regeln generierte Metriken.

LAMBDA

LAMBDA (LambdaFunctionName [, optionales Argument] *)

TS

TS[]

Ruft eine Lambda-Funktion auf, um Metriken aus einer Datenquelle abzufragen, die dies nicht CloudWatch ist. Weitere Informationen finden Sie unter So übergeben Sie Argumente an Ihre Lambda-Funktion.

LOG

TS

TS[]

TS

TS[]

Der LOG einer Zeitreihe gibt den natürlichen Logarithmuswert jedes Wertes in der Zeitreihe zurück.

LOG(METRICS())

LOG10

TS

TS[]

TS

TS[]

Der LOG10 einer Zeitreihe gibt den Logarithmuswert zur Basis 10 jedes Wertes in der Zeitreihe zurück.

LOG10(m1)

MAX

TS

TS[]

S

TS

Der Maximalwert (MAX) einer einzelnen Zeitreihe gibt eine Skalarzahl zurück, die den Maximalwert aller Datenpunkte in der Metrik darstellt.

Wenn Sie ein Array von Zeitreihen eingeben, erstellt die MAX-Funktion eine Zeitreihe und gibt sie zurück, die aus dem höchsten Wert für jeden Datenpunkt unter den Zeitreihen besteht, die als Eingabe verwendet wurden.

Anmerkung

Wir empfehlen, diese Funktion nicht in CloudWatch Alarmen zu verwenden, wenn Sie möchten, dass die Funktion einen Skalar zurückgibt. MAX(m2)Wenn ein Alarm beispielsweise auswertet, ob der Status geändert werden soll, CloudWatch versucht er, eine höhere Anzahl von Datenpunkten abzurufen als die als Bewertungszeiträume angegebene Zahl. Diese Funktion wirkt anders, wenn zusätzliche Daten angefordert werden.

MAX(m1)/m1

MAX(METRICS())

METRIC_COUNT

TS[]

S

Gibt die Anzahl der Metriken im Zeitreihen-Array zurück.

m1/METRIC_COUNT(METRICS())

METRICS

Null

Zeichenfolge

TS[]

Die Funktion METRICS () gibt alle CloudWatch Metriken in der Anfrage zurück. Mathematische Ausdrücke sind nicht enthalten.

Sie können METRICS() innerhalb eines größeren Ausdrucks verwenden, der letztendlich eine einzige Zeitreihe oder ein Array mit Zeitreihen generiert.

Sie können die METRICS()-Funktion mit einer Zeichenfolge verwenden, um nur die grafisch dargestellten Metriken zurückzugeben, die diese Zeichenfolge in ihrem Feld Id (ID) enthalten. Beispielsweise gibt der Ausdruck SUM(METRICS("errors")) eine Zeitreihe zurück, die die Summe der Werte aller grafisch dargestellten Metriken ist, die in ihrem Feld Id (ID) "errors", also Fehler, haben. Sie können auch SUM([METRICS(“4xx”), METRICS(“5xx”)]) verwenden, um mehrere Zeichenfolgen abzugleichen.

AVG(METRICS())

SUM(METRICS("errors"))

MIN

TS

TS[]

S

TS

Der Mindestwert (MIN) einer einzelnen Zeitreihe gibt eine Skalarzahl zurück, die den Mindestwert aller Datenpunkte in der Metrik darstellt.

Wenn Sie ein Array von Zeitreihen eingeben, erstellt die MIN-Funktion eine Zeitreihe und gibt sie zurück, die aus dem niedrigsten Wert für jeden Datenpunkt unter den Zeitreihen besteht, die als Eingabe verwendet wurden.

Wenn Sie ein Array von Zeitreihen eingeben, erstellt die MIN-Funktion eine Zeitreihe und gibt sie zurück, die aus dem niedrigsten Wert für jeden Datenpunkt unter den Zeitreihen besteht, die als Eingabe verwendet wurden.

Anmerkung

Wir empfehlen, diese Funktion nicht in CloudWatch Alarmen zu verwenden, wenn Sie möchten, dass die Funktion einen Skalar zurückgibt. MIN(m2)Wenn ein Alarm beispielsweise auswertet, ob der Status geändert werden soll, CloudWatch versucht er, eine höhere Anzahl von Datenpunkten abzurufen als die als Bewertungszeiträume angegebene Zahl. Diese Funktion wirkt anders, wenn zusätzliche Daten angefordert werden.

m1-MIN(m1)

MIN(METRICS())

MINUTE

STUNDE

TAG

DATUM

MONAT

JAHR

EPOCHE

TS

TS

Diese Funktionen nehmen den Zeitraum und den Bereich der Zeitreihe und geben eine neue nicht-spärliche Zeitreihe zurück, bei der jeder Wert auf seinem Zeitstempel basiert.

  • MINUTE gibt eine nicht spärlich besetzte Zeitreihe mit ganzen Zahlen zwischen 0 und 59 zurück, die die UTC-Minute jedes Zeitstempels in der ursprünglichen Zeitreihe darstellen.

  • HOUR gibt eine nicht spärlich besetzte Zeitreihe mit ganzen Zahlen zwischen 0 und 23 zurück, die die UTC-Stunde jedes Zeitstempels in der ursprünglichen Zeitreihe darstellen.

  • DAY gibt eine nicht spärlich besetzte Zeitreihe mit ganzen Zahlen zwischen 1 und 7 zurück, die den UTC-Wochentag jedes Zeitstempels in der ursprünglichen Zeitreihe darstellen. 1 steht für Montag und 7 für Sonntag.

  • DATE gibt eine nicht spärlich besetzte Zeitreihe mit ganzen Zahlen zwischen 1 und 31 zurück, die den UTC-Tag des Monats jedes Zeitstempels in der ursprünglichen Zeitreihe darstellen.

  • MONTH gibt eine nicht spärlich besetzte Zeitreihe mit ganzen Zahlen zwischen 1 und 12 zurück, die den UTC-Monat jedes Zeitstempels in der ursprünglichen Zeitreihe darstellen. 1 steht für Januar und 12 für Dezember.

  • YEAR gibt eine nicht spärlich besetzte Zeitreihe von Ganzzahlen zurück, die das UTC-Jahr jedes Zeitstempels in der ursprünglichen Zeitreihe darstellen.

  • EPOCH gibt eine nicht spärlich besetzte Zeitreihe von ganzen Zahlen zurück, die die UTC-Zeit in Sekunden seit der Epoche jedes Zeitstempels in der ursprünglichen Zeitreihe darstellt. Die Epoche ist der 1. Januar 1970.

MINUTE(m1)

IF(DAY(m1)<6,m1) gibt nur Messwerte von Wochentagen von Montag bis Freitag zurück.

IF(MONTH(m1) == 4,m1) gibt nur Metriken zurück, die im April veröffentlicht wurden.

PERIOD

TS

S

Gibt den Zeitraum der Metrik in Sekunden zurück. Als Eingabe sind Metriken, jedoch nicht die Ergebnisse anderer Ausdrücke zulässig.

m1/PERIOD(m1)

RATE

TS

TS[]

TS

TS[]

Gibt die Änderungsrate der Metrik pro Sekunde zurück. Dieser Wert wird als Differenz zwischen dem letzten Datenpunktwert und dem vorherigen Datenpunktwert, geteilt durch die zeitliche Differenz in Sekunden zwischen den beiden Werten berechnet.

Wichtig

Das Einstellen von Alarmen für Ausdrücke, die die RATE-Funktion für Metriken mit spärlichen Daten verwenden, kann sich unvorhersehbar verhalten, da der Bereich der bei der Auswertung des Alarms abgerufenen Datenpunkte je nach dem Zeitpunkt der letzten Veröffentlichung der Datenpunkte variieren kann.

RATE(m1)

RATE(METRICS())

REMOVE_EMPTY

TS[]

TS[]

Entfernt alle Zeitreihen, die keine Datenpunkte haben, aus einem Array von Zeitreihen. Das Ergebnis ist ein Array von Zeitreihen, in dem jede Zeitreihe mindestens einen Datenpunkt enthält.

Anmerkung

Wir empfehlen, diese Funktion nicht für Alarme zu verwenden. CloudWatch Immer wenn ein Alarm auswertet, ob der Status geändert werden soll, CloudWatch versucht er, eine höhere Anzahl von Datenpunkten abzurufen als die als Bewertungszeiträume angegebene Anzahl. Diese Funktion wirkt anders, wenn zusätzliche Daten angefordert werden.

REMOVE_EMPTY(METRICS())

RUNNING_SUM

TS

TS[]

TS

TS[]

Gibt eine Zeitreihe mit der laufenden Summe der Werte in der ursprünglichen Zeitreihe zurück.

Anmerkung

Wir empfehlen, diese Funktion nicht für CloudWatch Alarme zu verwenden. Immer wenn ein Alarm auswertet, ob der Status geändert werden soll, CloudWatch versucht er, eine höhere Anzahl von Datenpunkten abzurufen als die als Bewertungszeiträume angegebene Anzahl. Diese Funktion wirkt anders, wenn zusätzliche Daten angefordert werden.

RUNNING_SUM([m1,m2])

SEARCH

Suchausdruck

Eine oder mehrere Zeitreihen

Gibt eine oder mehrere Zeitreihen zurück, die den angegebenen Suchkriterien entsprechen. Mit der Suchfunktion SEARCH können Sie mehrere verwandte Zeitreihen mit nur einem Ausdruck zu einem Diagramm hinzufügen. Das Diagramm wird dynamisch aktualisiert, um die später hinzugefügten Metriken einzuschließen und den Suchkriterien zu entsprechen. Weitere Informationen finden Sie unter Suchausdrücke in Diagrammen verwenden.

Sie können keinen Alarm basierend auf dem SEARCH-Ausdruck erstellen. Dies liegt daran, dass Suchausdrücke mehrere Zeitreihen zurückgeben und ein auf einem mathematischen Ausdruck basierender Alarm nur eine Zeitreihe anzeigen kann.

Wenn Sie bei einem Monitoring-Konto mit CloudWatch kontenübergreifender Observability angemeldet sind, findet die SUCHFUNKTION Metriken in den Quellkonten und im Monitoring-Konto.

SERVICE_QUOTA

TS, das eine Nutzungsmetrik ist

TS

Gibt das Servicekontingent für die angegebene Nutzungsmetrik zurück. Sie können dies verwenden, um Ihre aktuelle Nutzung im Vergleich zum Kontingent zu visualisieren, und um Alarme einzustellen, die Sie warnen, wenn Sie sich dem Kontingent nähern. Weitere Informationen finden Sie unter AWS Nutzungsmetriken.

SLICE

(TS[], S, S) oder (TS[], S)

TS[]

TS

Ruft einen Teil eines Arrays von Zeitreihen ab. Dies ist besonders nützlich, wenn es mit SORT kombiniert wird. Beispielsweise können Sie das oberste Ergebnis aus einem Array von Zeitreihen ausschließen.

Sie können zwei skalare Argumente verwenden, um den Satz von Zeitreihen zu definieren, die zurückgegeben werden sollen. Die beiden Skalare definieren den Anfang (inklusive) und Ende (exklusiv) des auszugebenden Arrays. Das Array ist null-indiziert, so dass die erste Zeitreihe im Array Zeitreihe 0 ist. Sie können auch nur einen Wert angeben und alle Zeitreihen CloudWatch zurückgeben, die mit diesem Wert beginnen.

SLICE (SORT (METRICS (), SUM, DESC), 0, 10) gibt die 10 Metriken aus dem Array von Metriken in der Anforderung zurück, die den höchsten SUM-Wert aufweisen.

SLICE (SORT (METRICS (), AVG, ASC), 5) sortiert das Array von Metriken nach der AVG-Statistik und gibt dann alle Zeitreihen mit Ausnahme der 5 mit dem niedrigsten AVG zurück.

SORT

(TS[], FUNCTION, SORT_ORDER)

(TS[], FUNCTION, SORT_ORDER, S)

TS[]

Sortiert ein Array von Zeitreihen entsprechend der von Ihnen angegebenen Funktion. Die Funktion, die Sie verwenden, kann AVG, MIN, MAX oder SUMsein. Die Sortierreihenfolge kann entweder ASC für aufsteigend (niedrigste Werte zuerst) oder DESC sein, um die höheren Werte zuerst anzuzeigen. Sie können optional eine Zahl nach der Sortierreihenfolge angeben, die als Grenzwert fungiert. Wenn Sie beispielsweise einen Grenzwert von 5 angeben, werden nur die fünf wichtigsten Zeitreihen der Sortierung zurückgegeben.

Wenn diese mathematische Funktion in einem Diagramm angezeigt wird, werden die Beschriftungen für jede Metrik in dem Diagramm ebenfalls sortiert und nummeriert.

SORT (METRICS (), AVG, DESC, 10) berechnet den Durchschnittswert jeder Zeitreihe, sortiert die Zeitreihe mit den höchsten Werten am Anfang der Sortierung und gibt nur die zehn Zeitreihen mit den höchsten Durchschnittswerten zurück.

SORT (METRICS (), MAX, ASC) sortiert das Array der Metriken nach der MAX-Statistik und gibt dann alle in aufsteigender Reihenfolge zurück.

STDDEV

TS

TS[]

S

TS

Die Standardabweichung (STDDEV) einer einzelnen Zeitreihe gibt eine Skalarzahl zurück, die die Standardabweichung aller Datenpunkte in der Metrik darstellt. Die Standardabweichung (STDDEV) eines Arrays von Zeitreihen gibt eine einzige Zeitreihe zurück.

Anmerkung

Wir empfehlen, diese Funktion nicht in CloudWatch Alarmen zu verwenden, wenn Sie möchten, dass die Funktion einen Skalar zurückgibt. STDDEV(m2)Wenn ein Alarm beispielsweise auswertet, ob der Status geändert werden soll, CloudWatch versucht er, eine höhere Anzahl von Datenpunkten abzurufen als die als Bewertungszeiträume angegebene Zahl. Diese Funktion wirkt anders, wenn zusätzliche Daten angefordert werden.

m1/STDDEV(m1)

STDDEV(METRICS())

SUM

TS

TS[]

S

TS

Die Summe (SUM) einer einzelnen Zeitreihe gibt eine Skalarzahl zurück, die die Summe der Werte aller Datenpunkte in der Metrik darstellt. Die Summe (SUM) eines Arrays von Zeitreihen gibt eine einzige Zeitreihe zurück.

Anmerkung

Wir empfehlen, diese Funktion nicht in CloudWatch Alarmen zu verwenden, wenn Sie möchten, dass die Funktion einen Skalar zurückgibt. z. B. SUM(m1). Immer wenn ein Alarm auswertet, ob der Status geändert werden soll, CloudWatch versucht er, eine höhere Anzahl von Datenpunkten abzurufen als die als Bewertungszeiträume angegebene Zahl. Diese Funktion wirkt anders, wenn zusätzliche Daten angefordert werden.

SUM(METRICS())/SUM(m1)

SUM([m1,m2])

SUM(METRICS("errors"))/SUM(METRICS("requests"))*100

TIME_SERIES

S

TS

Gibt eine nicht-spärliche Zeitreihe zurück, bei der jeder Wert auf ein skalares Argument gesetzt wird.

TIME_SERIES(MAX(m1))

TIME_SERIES(5*AVG(m1))

TIME_SERIES(10)

*Das Verwenden einer Funktion, die nur eine skalare Zahl zurückgibt, ist nicht gültig, da alle finalen Ergebnisse von Ausdrücken eine einzelne Zeitreihe oder ein Array von Zeitreihen sein müssen. Verwenden Sie stattdessen diese Funktionen als Teil eines größeren Ausdrucks, der eine Zeitreihe zurückgibt.

Verwenden von IF-Ausdrücken

Verwenden Sie IF zusammen mit einem Vergleichsoperator, um Datenpunkte aus einer Zeitreihe herauszufiltern oder eine gemischte Zeitreihe zu erstellen, die aus mehreren sortierten Zeitreihen besteht.

IF verwendet die folgenden Argumente:

IF(condition, trueValue, falseValue)

Die Bedingung ergibt FALSE, wenn der Wert des Bedingungsdatenpunkts 0 ist, und TRUE, wenn der Wert der Bedingung ein anderer Wert ist, unabhängig davon, ob dieser Wert positiv oder negativ ist. Wenn es sich bei der Bedingung um eine Zeitreihe handelt, wird sie für jeden Zeitstempel separat ausgewertet.

Im Folgenden werden die gültigen Syntaxregeln aufgeführt. Für jede dieser Syntaxregeln ist die Ausgabe eine einzelne Zeitreihe.

  • IF(TS Vergleichsoperator S, S | TS, S | TS)

    Anmerkung

    Wenn der den TS comparison operator S Wert TRUE hat, aber metric2 keinen entsprechenden Datenpunkt hat, ist die Ausgabe 0.

  • IF(TS, TS, TS)

  • IF(TS, S, TS)

  • IF(TS, TS, S)

  • IF(TS, S, S)

  • IF(S, TS, TS)

In den folgenden Abschnitten finden Sie weitere Details und Beispiele für diese Syntaxregeln.

IF(TS Vergleichsoperator S, scalar2 | metric2, scalar3 | metric3)

Der entsprechende Ausgabezeitreihenwert:

  • hat den Wert von scalar2 oder metric2, wenn TS Comparison Operator (Vergleichsoperator) S TRUE ist

  • hat den Wert von scalar3 oder metric3, wenn TS Comparison Operator (Vergleichsoperator) S FALSE ist

  • hat den Wert 0, wenn der TS-Vergleichsoperator TRUE ist und der entsprechende Datenpunkt in metric2 nicht existiert.

  • hat den Wert 0, wenn der TS-Vergleichsoperator FALSE ist und der entsprechende Datenpunkt in metric3 nicht existiert.

  • ist eine leere Zeitreihe, wenn der entsprechende Datenpunkt von nicht in metric3, vorhanden ist oder wenn scalar3/metric3 im Ausdruck weggelassen wird

IF(metric1, metric2, metric3)

Für jeden Datenpunkt von metric1, der entsprechende Ausgabezeitreihenwert:

  • hat den Wert von metric2, wenn der entsprechende Datenpunkt von metric1 TRUE ist.

  • hat den Wert metric3, wenn der entsprechende Datenpunkt von metric1 FALSE ist.

  • hat den Wert 0, wenn der entsprechende Datenpunkt von metric1 TRUE ist und der entsprechende Datenpunkt in metric2 nicht vorhanden ist.

  • wird gelöscht, wenn der entsprechende Datenpunkt von metric1 FALSE ist und der entsprechende Datenpunkt in metric3 nicht existiert

  • wird gelöscht, wenn der entsprechende Datenpunkt von metric1 FALSE ist und metric3 im Ausdruck weggelassen wird.

  • wird gelöscht, wenn der entsprechende Datenpunkt von metric1 fehlt.

Die folgende Tabelle zeigt ein Beispiel für diese Syntax.

Metrik oder Funktion Werte

(metric1)

[1, 1, 0, 0, -]

(metric2)

[30, -, 0, 0, 30]

(metric3)

[0, 0, 20, -, 20]

IF(metric1, metric2, metric3)

[30, 0, 20, 0, -]

IF(metric1, scalar2, metric3)

Für jeden Datenpunkt von metric1, der entsprechende Ausgabezeitreihenwert:

  • hat den Wert von scalar2, wenn der entsprechende Datenpunkt von metric1 TRUE ist.

  • hat den Wert metric3, wenn der entsprechende Datenpunkt von metric1 FALSE ist.

  • wird gelöscht, wenn der entsprechende Datenpunkt von metric1 FALSE ist und der entsprechende Datenpunkt auf metric3, nicht vorhanden ist oder wenn metric3 im Ausdruck weggelassen wird.

Metrik oder Funktion Werte

(metric1)

[1, 1, 0, 0, -]

scalar2

5

(metric3)

[0, 0, 20, -, 20]

IF(metric1, scalar2, metric3)

[5, 5, 20, -, -]

IF(metric1, metric2, scalar3)

Für jeden Datenpunkt von metric1, der entsprechende Ausgabezeitreihenwert:

  • hat den Wert von metric2, wenn der entsprechende Datenpunkt von metric1 TRUE ist.

  • hat den Wert von scalar3, wenn der entsprechende Datenpunkt von metric1 FALSE ist.

  • hat den Wert 0, wenn der entsprechende Datenpunkt von metric1 TRUE ist und der entsprechende Datenpunkt in metric2 nicht vorhanden ist.

  • wird gelöscht, wenn der entsprechende Datenpunkt in metric1 nicht vorhanden ist.

Metrik oder Funktion Werte

(metric1)

[1, 1, 0, 0, -]

(metric2)

[30, -, 0, 0, 30]

scalar3

5

IF(metric1, metric2, scalar3)

[30, 0, 5, 5, -]

IF(scalar1, metric2, metric3)

Der entsprechende Ausgabezeitreihenwert:

  • hat den Wert von metric2, wenn scalar1 TRUE ist.

  • hat den Wert metric3, wenn scalar1 FALSE ist.

  • ist eine leere Zeitreihe, wenn metric3 im Ausdruck weggelassen wird.

Anwendungsbeispiele für IF-Ausdrücke

Die folgenden Beispiele veranschaulichen die mögliche Verwendung der IF-Funktion .

  • So zeigen Sie nur die niedrigen Werte einer Metrik an:

    IF(metric1<400, metric1)

  • So ändern Sie jeden Datenpunkt in einer Metrik in einen von zwei Werten, um relative Höhen und Tiefen der ursprünglichen Metrik anzuzeigen:

    IF(metric1<400,10,2)

  • So zeigen Sie eine 1 für jeden Zeitstempel an, bei dem die Latenz über dem Schwellenwert liegt, und eine 0 für alle anderen Datenpunkte:

    IF(latency>threshold, 1, 0)

Verwenden Sie metrische Mathematik bei der GetMetricData API-Operation

Sie können GetMetricData verwenden, um Berechnungen mithilfe mathematischer Ausdrücke durchzuführen und um große Mengen von Metrikdaten in einem einzigen API-Aufruf abzurufen. Weitere Informationen finden Sie unter GetMetricData.

Anomalieerkennung bei Metrikberechnungen

Die Anomalieerkennung bei Metrikberechnungen ist ein Feature, mit dem Sie Alarme für die Anomalieerkennung basierend auf einzelnen Metriken und metrischen mathematischen Ausdrücken erstellen können. Sie können diese Ausdrücke verwenden, um Diagramme zu erstellen, die Anomalieerkennungsbänder visualisieren. Das Feature unterstützt grundlegende arithmetische Funktionen, Vergleichs- und logische Operatoren sowie die meisten anderen Funktionen.

Die Anomalieerkennung bei Metrikberechnungen unterstützt die folgenden Funktionen nicht:

  • Ausdrücke, die mehr als ein ANOMALY_DETECTION_BAND in derselben Zeile enthalten.

  • Ausdrücke, die mehr als 10 Metriken oder mathematische Ausdrücke enthalten.

  • Ausdrücke, die den METRICS-Ausdruck enthalten.

  • Ausdrücke, die die SEARCH-Funktion enthalten.

  • Ausdrücke, die die Funktion DP_PERF_INSIGHTS verwenden.

  • Ausdrücke, die Metriken mit verschiedenen Perioden verwenden.

  • Metrische mathematische Anomaliedetektoren, die hochauflösende Metriken als Eingabe verwenden.

Weitere Informationen zu dieser Funktion finden Sie unter Verwenden der CloudWatch Anomalieerkennung im CloudWatch Amazon-Benutzerhandbuch.