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.
Musteranalyse
CloudWatch Logs Insights verwendet Algorithmen für maschinelles Lernen, um Muster zu finden, wenn Sie Ihre Logs abfragen. Ein Muster ist eine gemeinsame Textstruktur, die sich in Ihren Protokollfeldern wiederholt. Wenn Sie sich die Ergebnisse einer Abfrage ansehen, können Sie die Registerkarte Muster wählen, um sich die Muster anzusehen, die CloudWatch Logs anhand einer Stichprobe Ihrer Ergebnisse gefunden hat. Alternativ können Sie den pattern Befehl an Ihre Abfrage anhängen, um die Muster im gesamten Satz übereinstimmender Protokollereignisse zu analysieren.
Muster sind nützlich für die Analyse großer Protokollsätze, da eine große Anzahl von Protokollereignissen häufig zu wenigen Mustern komprimiert werden kann.
Betrachten Sie das folgende Beispiel mit drei Protokollereignissen.
2023-01-01 19:00:01 [INFO] Calling DynamoDB to store for resource id 12342342k124-12345 2023-01-01 19:00:02 [INFO] Calling DynamoDB to store for resource id 324892398123-12345 2023-01-01 19:00:03 [INFO] Calling DynamoDB to store for resource id 3ff231242342-12345
Im vorherigen Beispiel folgen alle drei Protokollereignisse einem Muster:
<Time-1> [INFO] Calling DynamoDB to store for resource id <ID-2>
Felder innerhalb eines Musters werden als Token bezeichnet. Felder, die innerhalb eines Musters variieren, z. B. eine Anforderungs-ID oder ein Zeitstempel, sind dynamische Token. Jedes dynamische Token wird repräsentiert durch<. Das string-number>string ist eine Beschreibung des Datentyps, für den das Token steht. Das number zeigt, wo im Muster dieses Token im Vergleich zu den anderen dynamischen Token erscheint.
Zu den häufigsten Beispielen für dynamische Token gehören Fehlercodes, Zeitstempel und Anfragen IDs. Ein Tokenwert steht für einen bestimmten Wert eines dynamischen Tokens. Wenn ein dynamisches Token beispielsweise einen HTTP-Fehlercode darstellt, könnte dies ein Tokenwert sein501.
Die Mustererkennung wird auch im CloudWatch Logs-Anomaliedetektor und in den Vergleichsfunktionen verwendet. Weitere Informationen erhalten Sie unter Erkennung von Protokollanomalien und Vergleiche (Diff) mit früheren Zeitbereichen.
Erste Schritte mit der Musteranalyse
Die Mustererkennung wird automatisch in jeder CloudWatch Logs Insights-Abfrage durchgeführt. Bei Abfragen, die den pattern Befehl nicht enthalten, werden sowohl Ereignisse als auch Muster in den Ergebnissen protokolliert.
Wenn Sie den pattern Befehl in Ihre Abfrage aufnehmen, wird die Musteranalyse für den gesamten Satz übereinstimmender Protokollereignisse durchgeführt. Dadurch erhalten Sie genauere Musterergebnisse, aber die unverarbeiteten Protokollereignisse werden nicht zurückgegeben, wenn Sie den pattern Befehl verwenden. Wenn eine Abfrage keine Daten enthältpattern, basieren die Musterergebnisse entweder auf den ersten 1000 zurückgegebenen Protokollereignissen oder auf dem Grenzwert, den Sie in Ihrer Abfrage verwendet haben. Wenn Sie pattern in die Abfrage einbeziehen, werden die auf der Registerkarte Muster angezeigten Ergebnisse aus allen Protokollereignissen abgeleitet, denen die Abfrage entspricht.
Um mit der Musteranalyse in CloudWatch Logs Insights zu beginnen
Öffnen Sie die CloudWatch Konsole unter https://console.aws.amazon.com/cloudwatch/
. -
Wählen Sie im Navigationsbereich Logs, Logs Insights aus.
Auf der Logs-Insights-Seite enthält der Abfrage-Editor eine Standardabfrage, die die 20 letzten Protokollereignisse zurückgibt.
-
Entfernen Sie die
| limit 20Zeile im Abfragefeld, sodass die Abfrage wie folgt aussieht:fields @timestamp, @message, @logStream, @log | sort @timestamp desc -
Wählen Sie in der Dropdownliste Protokollgruppe (n) auswählen eine oder mehrere Protokollgruppen für die Abfrage aus.
-
(Optional) Verwenden Sie die Zeitintervallauswahl, um einen Zeitraum auszuwählen, den Sie abfragen möchten.
Sie können zwischen Intervallen von 5 Minuten und 30 Minuten, Intervallen von 1 Stunde, 3 Stunden und 12 Stunden oder einem benutzerdefinierten Zeitrahmen wählen.
-
Wählen Sie Abfrage ausführen, um die Abfrage zu starten.
Wenn die Ausführung der Abfrage abgeschlossen ist, wird auf der Registerkarte „Protokolle“ eine Tabelle mit den von der Abfrage zurückgegebenen Protokollereignissen angezeigt. Über der Tabelle befindet sich eine Meldung darüber, wie viele Datensätze der Abfrage entsprachen, ähnlich der Meldung 10.000 von 71.101 übereinstimmenden Datensätzen anzeigen.
-
Wählen Sie die Registerkarte Muster.
-
In der Tabelle werden jetzt die in der Abfrage gefundenen Muster angezeigt. Da die Abfrage den
patternBefehl nicht enthielt, werden auf dieser Registerkarte nur die Muster angezeigt, die unter den 10.000 Protokollereignissen entdeckt wurden, die in der Tabelle auf der Registerkarte Protokolle angezeigt wurden.Für jedes Muster werden die folgenden Informationen angezeigt:
-
Das Muster, wobei jedes dynamische Token als angezeigt wird
<. Dasstring-number>stringist eine Beschreibung des Datentyps, für den das Token steht. Dasnumberzeigt, wo im Muster dieses Token im Vergleich zu den anderen dynamischen Token erscheint. -
Die Anzahl der Ereignisse, d. h. die Häufigkeit, mit der das Muster in den abgefragten Protokollereignissen auftauchte. Wählen Sie die Spaltenüberschrift „Anzahl der Ereignisse“, um die Muster nach Häufigkeit zu sortieren.
-
Die Ereignisquote, d. h. der Prozentsatz der abgefragten Protokollereignisse, die dieses Muster enthalten.
-
Der Schweregradtyp, der einer der folgenden sein wird:
-
FEHLER, wenn das Muster das Wort Error enthält.
-
WARN, wenn das Muster das Wort Warn, aber nicht das Wort Error enthält.
-
INFO, wenn das Muster weder Warn noch Error enthält.
Wählen Sie die Spaltenüberschrift Schweregrad aus, um die Muster nach Schweregrad zu sortieren.
-
-
-
Ändern Sie jetzt die Abfrage. Ersetzen Sie die
| sort @timestamp descZeile in der Abfrage durch| pattern @message, sodass die vollständige Abfrage wie folgt lautet:fields @timestamp, @message, @logStream, @log | pattern @message -
Wählen Sie Abfrage ausführen.
Wenn die Abfrage abgeschlossen ist, werden auf der Registerkarte Protokolle keine Ergebnisse angezeigt. Auf der Registerkarte Muster ist jedoch wahrscheinlich eine größere Anzahl von Mustern aufgeführt, je nachdem, wie viele Protokollereignisse insgesamt abgefragt wurden.
-
Unabhängig davon, ob Sie sie
patternin Ihre Abfrage aufgenommen haben, können Sie die Muster, die die Abfrage zurückgibt, genauer untersuchen. Wählen Sie dazu das Symbol in der Spalte Inspizieren für eines der Muster aus.Das Fenster „Muster prüfen“ wird geöffnet und enthält Folgendes:
-
Das Muster. Wählen Sie ein Token innerhalb des Musters aus, um die Werte dieses Tokens zu analysieren.
-
Ein Histogramm, das die Anzahl der Vorkommen des Musters im abgefragten Zeitraum zeigt. Dies kann Ihnen helfen, interessante Trends zu identifizieren, z. B. eine plötzliche Zunahme des Auftretens eines Musters.
-
Auf der Registerkarte Protokollbeispiele werden einige der Protokollereignisse angezeigt, die dem ausgewählten Muster entsprechen.
-
Auf der Registerkarte Token-Werte werden die Werte des ausgewählten dynamischen Tokens angezeigt, sofern Sie eines ausgewählt haben.
Anmerkung
Für jedes Token werden maximal 10 Token-Werte erfasst. Die Anzahl der Tokens ist möglicherweise nicht genau. CloudWatch Logs verwendet einen probabilistischen Zähler, um die Tokenanzahl zu generieren, nicht den absoluten Wert.
-
Auf der Registerkarte Verwandte Muster werden andere Muster angezeigt, die häufig fast zur gleichen Zeit wie das Muster aufgetreten sind, das Sie untersuchen. Wenn beispielsweise ein Muster für eine
ERRORNachricht normalerweise von einem anderen Protokollereignis begleitet wurde, das alsINFOmit zusätzlichen Details gekennzeichnet war, wird dieses Muster hier angezeigt.
-
Details zum Pattern-Befehl
Dieser Abschnitt enthält weitere Informationen über den pattern Befehl und seine Verwendung.
-
Im vorherigen Tutorial haben wir den
sortBefehl entfernt, als wir ihn hinzugefügt habenpattern, weil eine Abfrage nicht gültig ist, wenn sie einenpatternBefehl nach einemsortBefehl enthält. Es ist gültig, einpatternvor einem zu habensort.Weitere Informationen zur
patternSyntax finden Sie unterpattern. -
Wenn Sie
patternin einer Abfrage verwenden,@messagemuss eines der Felder impatternBefehl ausgewählt sein. -
Sie können den
filterBefehl vor einempatternBefehl einfügen, damit nur der gefilterte Satz von Protokollereignissen als Eingabe für die Musteranalyse verwendet wird. -
Um Musterergebnisse für ein bestimmtes Feld anzuzeigen, z. B. ein aus dem
parseBefehl abgeleitetes Feld, verwenden Siepattern @fieldname. -
Abfragen, bei denen es sich nicht um eine Protokollausgabe handelt, wie z. B. Abfragen mit dem
statsBefehl, geben keine Musterergebnisse zurück.