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.

Filter

Verwenden Sie filter, um Protokollereignisse abzurufen, die einer oder mehreren Bedingungen entsprechen.

Beispiel: Filtern von Protokollereignissen mithilfe einer Bedingung

Das Code-Snippet zeigt ein Beispiel für eine Abfrage, die alle Protokollereignisse zurückgibt, deren Wert für range größer als 3 000 ist. Die Abfrage begrenzt die Ergebnisse auf 20 Protokollereignisse und sortiert die Protokollereignisse nach @timestamp und in absteigender Reihenfolge.

fields @timestamp, @message | filter (range>3000) | sort @timestamp desc | limit 20

Beispiel: Filtern von Protokollereignissen mit mehr als einer Bedingung

Sie können die Schlüsselwörter and und or verwenden, um mehr als eine Bedingung zu kombinieren.

Der Codeausschnitt zeigt ein Beispiel für Protokollereignisse, bei denen der Wert für range größer als 3 000 und der Wert für accountId gleich 123 456 789 012 ist. Die Abfrage begrenzt die Ergebnisse auf 20 Protokollereignisse und sortiert die Protokollereignisse nach @timestamp und in absteigender Reihenfolge.

fields @timestamp, @message | filter (range>3000 and accountId=123456789012) | sort @timestamp desc | limit 20

Übereinstimmungen und Reguläre Ausdrücke im Filterbefehl

Der Filterbefehl unterstützt die Verwendung regulärer Ausdrücke. Sie können die folgenden Vergleichsoperatoren (=, !=, <, <=, >, >=) und Booleschen Operatoren (and, or und not) verwenden.

Sie können das Schlüsselwort in verwenden, um auf eine festgelegte Mitgliedschaft zu testen und auf Elemente in einem Array zu prüfen. Platzieren Sie das Array nach in, um auf Elemente in einem Array zu prüfen. Sie können den Booleschen Operator not mit in verwenden. Sie können Abfragen erstellen, die in verwenden, um Protokollereignisse zurückzugeben, die mit Zeichenfolgen übereinstimmen. Die Felder müssen vollständige Zeichenfolgen sein. Der folgende Codeausschnitt zeigt beispielsweise eine Abfrage, die in verwendet, um Protokollereignisse zurückzugeben, wobei das Feld logGroup die vollständige Zeichenfolge example_group ist.

fields @timestamp, @message | filter logGroup in ["example_group"]

Sie können die Schlüsselwortausdrücke like und not like für den Abgleich mit Teilzeichenfolgen verwenden. Sie können den Operator für reguläre Ausdrücke =~ für den Abgleich mit Teilzeichenfolgen verwenden. Schließen Sie für den Abgleich einer Teilzeichenfolge mit like und not like die Teilzeichenfolge, die abgeglichen werden soll, in einfache oder doppelte Anführungszeichen ein. Sie können Muster von regulären Ausdrücken mit like und not like verwenden. Um eine Teilzeichenfolge mit dem Operator für reguläre Ausdrücke abzugleichen, schließen Sie die Teilzeichenfolge, die Sie abgleichen möchten, in Schrägstriche ein. Die folgenden Beispiele enthalten Code-Snippets, die zeigen, wie Sie Teilzeichenfolgen mit dem Befehl filter abgleichen können.

Beispiele: Abgleich von Teilzeichenfolgen

Die folgenden drei Beispiele geben Protokollereignisse zurück, bei denen f1 das Wort Exception (Ausnahme) enthält. Bei allen drei Beispielen muss die Groß-/Kleinschreibung beachtet werden.

Das erste Beispiel gleicht eine Teilzeichenfolge mit like ab.

fields f1, f2, f3 | filter f1 like "Exception"

Das zweite Beispiel gleicht eine Teilzeichenfolge mit like und einem Muster von regulären Ausdrücken ab.

fields f1, f2, f3 | filter f1 like /Exception/

Das dritte Beispiel gleicht eine Teilzeichenfolge mit einem regulären Ausdruck ab.

fields f1, f2, f3 | filter f1 =~ /Exception/

Beispiel: Abgleichen von Teilzeichenfolgen mit Platzhaltern

Sie können das Punktsymbol (.) als Platzhalter in regulären Ausdrücken verwenden, um Teilzeichenfolgen abzugleichen. Im folgenden Beispiel gibt die Abfrage Übereinstimmungen zurück, bei denen der Wert für f1 mit der Zeichenfolge ServiceLog beginnt.

fields f1, f2, f3 | filter f1 like /ServiceLog./

Sie können ein Sternchen nach dem Punktsymbol (.*) platzieren, um einen gierigen Quantifizierer zu erstellen, der so viele Übereinstimmungen wie möglich zurückgibt. Beispielsweise gibt die folgende Abfrage Übereinstimmungen zurück, bei denen der Wert für f1 nicht nur mit der Zeichenfolge ServiceLog beginnt, sondern auch die Zeichenfolge ServiceLog beinhaltet.

fields f1, f2, f3 | filter f1 like /ServiceLog.*/

Mögliche Übereinstimmungen können wie folgt formatiert werden:

  • ServiceLogSampleApiLogGroup

  • SampleApiLogGroupServiceLog

Beispiel: Ausschließen von Teilzeichenfolgen aus Abgleichen

Das folgende Beispiel zeigt eine Abfrage, die Protokollereignisse zurückgibt, bei denen f1 nicht das Wort Exception (Ausnahme) enthält. Das Beispiel berücksichtigt Groß- und Kleinschreibung.

fields f1, f2, f3 | filter f1 not like "Exception"

Beispiel: Abgleichen von Teilzeichenfolgen mit Mustern, die Groß- und Kleinschreibung nicht berücksichtigen

Sie können Teilzeichenfolgen, bei denen die Groß-/Kleinschreibung nicht beachtet wird, mit like und regulären Ausdrücken abgleichen. Platzieren Sie den folgenden Parameter (?i) vor der Teilzeichenfolge, die Sie abgleichen möchten. Das folgende Beispiel zeigt eine Abfrage, die Protokollereignisse zurückgibt, bei denen f1 das Wort Exception (Ausnahme) oder exception (ausnahme) enthält.

fields f1, f2, f3 | filter f1 like /(?i)Exception/