Filtermustersyntax für metrische Filter - CloudWatch Amazon-Protokolle

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.

Filtermustersyntax für metrische Filter

Anmerkung

Wie sich Metrikfilter von CloudWatch Logs Insights-Abfragen unterscheiden

Metrikfilter unterscheiden sich von CloudWatch Logs Insights-Abfragen darin, dass einem Metrikfilter jedes Mal, wenn ein passendes Protokoll gefunden wird, ein bestimmter numerischer Wert hinzugefügt wird. Weitere Informationen finden Sie unter Konfigurieren von Metrikwerten für einen Metrikfilter.

Informationen darüber, wie Sie Ihre Protokollgruppen mit der Abfragesprache von Amazon CloudWatch Logs Insights abfragen, finden Sie unterCloudWatch Syntax der Sprachabfrage in Logs Insights.

Beispiele für generische Filtermuster

Weitere Informationen zur generischen Filtermustersyntax für Metrikfilter sowie Abonnementfilter und Filterprotokollereignisse finden Sie unter Filtermustersyntax für Metrikfilter, Abonnementfilter und Filterprotokollereignisse, unter anderem die folgenden:

  • Unterstützte Syntax für reguläre Ausdrücke (Regex)

  • Abgleichen von Begriffen in unstrukturierten Protokollereignissen

  • Auffinden von Begriffen in JSON-Protokollereignissen

  • Abgleichen von Begriffen in Leerzeichen-getrennten Protokollereignissen

Mit Metrikfiltern können Sie Protokolldaten, die in CloudWatch Logs eingehen, durchsuchen und filtern, metrische Beobachtungen aus den gefilterten Protokolldaten extrahieren und die Datenpunkte in eine CloudWatch Logs-Metrik umwandeln. Sie definieren die Begriffe und Muster, nach denen in den Protokolldaten gesucht werden soll, wenn diese an CloudWatch Logs gesendet werden. Metrikfilter sind Protokollgruppen zugewiesen, und alle einer Protokollgruppe zugewiesenen Filter werden auf ihre Protokollstreams angewendet.

Wenn ein Metrikfilter mit einem Begriff übereinstimmt, erhöht er die Anzahl der Metrik um einen bestimmten metrischen Wert. Sie können z. B. einen Metrikfilter erstellen, der zählt, wie oft das Wort ERROR (FEHLER) in Ihren Protokollereignissen vorkommt.

Sie können den Metriken Maßeinheiten und Dimensionen zuweisen. Wenn Sie beispielsweise einen Metrikfilter erstellen, der zählt, wie oft das Wort ERROR (FEHLER) in Ihren Protokollereignissen vorkommt, können Sie eine Dimension angeben, die ErrorCode genannt wird, um die Gesamtzahl der Protokollereignisse anzuzeigen, die das Wort ERROR (FEHLER) enthalten, und die Daten nach gemeldeten Fehlercodes filtern.

Tipp

Wenn Sie einer Metrik eine Maßeinheit zuordnen, achten Sie darauf, dass Sie die richtige Einheit angeben. Wenn Sie die Einheit später ändern, wird Ihre Änderung möglicherweise nicht wirksam. Die vollständige Liste der CloudWatch unterstützten Einheiten finden Sie MetricDatumin der Amazon CloudWatch API-Referenz.

Konfigurieren von Metrikwerten für einen Metrikfilter

Wenn Sie einen Metrikfilter erstellen, definieren Sie Ihr Filtermuster und geben den Wert der Metrik und den Standardwert an. Sie können Metrikwerte für Zahlen, benannte Bezeichner oder numerische Bezeichner festlegen. Wenn Sie keinen Standardwert angeben, CloudWatch werden keine Daten gemeldet, wenn Ihr Metrikfilter keine Übereinstimmung findet. Es wird empfohlen, einen Standardwert anzugeben, auch wenn der Wert 0 ist. Wenn Sie einen Standardwert festlegen, können Daten genauer CloudWatch gemeldet werden, und es wird CloudWatch verhindert, dass lückenhafte Messwerte aggregiert werden. CloudWatch aggregiert und meldet Metrikwerte jede Minute.

Wenn der Metrikfilter eine Übereinstimmung in Ihren Protokollereignissen findet, erhöht er die Metrikanzahl um den Wert der Metrik. Wenn Ihr Metrikfilter keine Übereinstimmung findet, wird der Standardwert der Metrik CloudWatch gemeldet. Beispiel: Ihre Protokollgruppe veröffentlicht jede Minute zwei Datensätze, der Metrikwert ist 1 und der Standardwert ist 0. Wenn der Metrikfilter in beiden Protokolleinträgen innerhalb der ersten Minute Übereinstimmungen findet, ist der Metrikwert für diese Minute 2. Wenn der Metrikfilter in beiden Datensätzen keine Übereinstimmungen während der zweiten Minute findet, ist der Standardwert für diese Minute 0. Wenn Sie den von den Metrikfiltern generierten Metriken Dimensionen zuweisen, können Sie keine Standardwerte für diese Metriken angeben.

Sie können auch einen Metrikfilter einrichten, um eine Metrik mit einem Wert zu erhöhen, der aus einem Protokollereignis extrahiert wurde, anstatt mit einem statischen Wert. Weitere Informationen finden Sie unter Verwendung von Werten in Protokollereignissen zum Erhöhen des Metrikwerts.

Veröffentlichung von Dimensionen mit Metriken aus Werten in JSON- oder Leerzeichen-getrennten Protokollereignissen

Sie können die CloudWatch Konsole oder AWS CLI verwenden, um Metrikfilter zu erstellen, die Dimensionen mit Metriken veröffentlichen, die JSON und durch Leerzeichen getrennte Protokollereignisse generieren. Dimensionen sind Name/Wert-Paare und nur für JSON und durch Leerzeichen-getrennte Filtermuster verfügbar. Sie können JSON- und Leerzeichen-getrennte Metrikfilter mit bis zu drei Dimensionen erstellen. Weitere Informationen zu Dimensionen und der Zuordnung von Dimensionen zu Metriken finden Sie in den folgenden Abschnitten:

Wichtig

Dimensionen enthalten Werte, die die gleichen Kosten wie benutzerdefinierte Metriken erzeugen. Um unerwartete Kosten zu vermeiden, sollten Sie keine Felder mit hoher Kardinalität, wie z. B. IPAddress oder requestID, als Dimensionen angeben.

Wenn Sie Metriken aus Protokollereignissen extrahieren, werden Ihnen benutzerdefinierte Metriken in Rechnung gestellt. Um zu verhindern, dass versehentlich hohe Kosten anfallen, kann Amazon Ihren Metrikfilter deaktivieren, wenn er innerhalb eines bestimmten Zeitraums 1 000 verschiedene Name/Wert-Paare für bestimmte Dimensionen erzeugt.

Sie können Rechnungsalarme erstellen, die Sie über Ihre geschätzten Gebühren informieren. Weitere Informationen finden Sie unter Einen Fakturierungsalarm erstellen, um Ihre geschätzten AWS Gebühren zu überwachen.

Die folgenden Beispiele enthalten Code-Snippets, die beschreiben, wie in einem JSON-Metrikfilter Dimensionen angegeben werden.

Example: JSON log event
{ "eventType": "UpdateTrail", "sourceIPAddress": "111.111.111.111", "arrayKey": [ "value", "another value" ], "objectList": [ {"name": "a", "id": 1 }, {"name": "b", "id": 2 } ] }
Anmerkung

Wenn Sie die Beispielmetrikfilter mit dem Beispiel-JSON-Protokollereignis testen, müssen Sie das Beispiel-JSON-Protokoll in einer einzigen Zeile eingeben.

Example: Metric filter

Der Metrikfilter erhöht die Metrik immer dann, wenn ein JSON-Protokollereignis die Eigenschaften eventType und "sourceIPAddress" enthält.

{ $.eventType = "*" && $.sourceIPAddress != 123.123.* }

Wenn Sie einen JSON-Metrikfilter erstellen, können Sie jede der Eigenschaften im Metrikfilter als Dimension angeben. Um eventType als Dimension festzulegen, verwenden Sie zum Beispiel Folgendes:

"eventType" : $.eventType

Die Beispielmetrik enthält eine Dimension mit dem Namen "eventType", und der Wert der Dimension im Beispiel-Protokollereignis ist "UpdateTrail".

Die folgenden Beispiele enthalten Code-Snippets, die beschreiben, wie in einem Leerzeichen-getrennten Metrikfilter Dimensionen angegeben werden.

Example: Space-delimited log event
127.0.0.1 Prod frank [10/Oct/2000:13:25:15 -0700] "GET /index.html HTTP/1.0" 404 1534
Example: Metric filter
[ip, server, username, timestamp, request, status_code, bytes > 1000]

Der Metrikfilter erhöht die Metrik, wenn ein Leerzeichen-getrenntes Protokollereignis eines der im Filter angegebenen Felder enthält. Zum Beispiel findet der Metrikfilter die folgenden Felder und Werte im Leerzeichen-getrennten Beispiel-Protokollereignis.

{ "$bytes": "1534", "$status_code": "404", "$request": "GET /index.html HTTP/1.0", "$timestamp": "10/Oct/2000:13:25:15 -0700", "$username": "frank", "$server": "Prod", "$ip": "127.0.0.1" }

Wenn Sie einen Leerzeichen-getrennten Metrikfilter erstellen, können Sie jedes der Felder im Metrikfilter als Dimension angeben. Um server als Dimension festzulegen, verwenden Sie zum Beispiel Folgendes:

"server" : $server

Der Beispiel-Metrikfilter hat eine Dimension mit dem Namen server, und der Wert der Dimension im Beispiel-Protokollereignis ist "Prod".

Example: Match terms with AND (&&) and OR (||)

Sie können die logischen Operatoren AND („&&“) und OR („||“) verwenden, um Leerzeichen-getrennte Metrikfilter zu erstellen, die Bedingungen enthalten. Der folgende Metrikfilter gibt Protokollereignisse zurück, bei denen der erste Begriff in den Ereignissen ERROR (FEHLER) oder eine beliebige WARN-Zeichenfolge ist.

[w1=ERROR || w1=%WARN%, w2]

Verwendung von Werten in Protokollereignissen zum Erhöhen des Metrikwerts

Sie können Metrikfilter erstellen, die numerische Werte aus Ihren Protokollereignissen veröffentlichen. Die Vorgehensweise in diesem Abschnitt zeigt anhand des folgenden Beispiels für einen Metrikfilter, wie Sie einen numerischen Wert in einem JSON-Protokollereignis in einer Metrik veröffentlichen können.

{ $.latency = * } metricValue: $.latency
Einen Metrikfilter erstellen, der einen Wert in einem Protokollereignis veröffentlicht
  1. Öffnen Sie die CloudWatch Konsole unter https://console.aws.amazon.com/cloudwatch/.

  2. Wählen Sie im Navigationsbereich Logs (Protokolle) und dann Log groups (Protokollgruppen) aus.

  3. Wählen oder erstellen Sie eine Protokollgruppe.

    Informationen zum Erstellen einer Protokollgruppe finden Sie unter Erstellen einer Protokollgruppe in CloudWatch Logs im Amazon CloudWatch Logs-Benutzerhandbuch.

  4. Wählen Sie Aktionen und dann Metrikfilter erstellen.

  5. Geben Sie unter Filter Pattern (Filtermuster) den Wert { $.latency = * } ein und wählen Sie dann Next (Weiter).

  6. Geben Sie für Metric Name (Metrikname) myMetric ein.

  7. Geben Sie für Metrikwert $.latency ein.

  8. Geben Sie für Default Value (Standardwert) 0 ein und wählen Sie dann Next (Weiter).

    Es wird empfohlen, einen Standardwert anzugeben, auch wenn der Wert 0 ist. Wenn Sie einen Standardwert festlegen, können Daten genauer CloudWatch gemeldet werden, und es wird CloudWatch verhindert, dass lückenhafte Messwerte aggregiert werden. CloudWatch aggregiert und meldet Metrikwerte jede Minute.

  9. Wählen Sie Metrikfilter erstellen aus.

Der Beispiel-Metrikfilter stimmt mit dem Begriff "latency" im Beispiel-JSON-Protokollereignis überein und veröffentlicht einen numerischen Wert von 50 für die Metrik myMetric.

{ "latency": 50, "requestType": "GET" }