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 Protokolle 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 die Muster anzuzeigen, 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 in der gesamten Gruppe der übereinstimmenden Protokollereignisse zu analysieren.
Muster eignen sich für die Analyse großer Protokollsätze, da eine große Anzahl von Protokollereignissen oft zu wenigen Mustern komprimiert werden kann.
Betrachten Sie das folgende Beispiel von 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 dargestellt durch<. Das string-number>string ist eine Beschreibung des Datentyps, den das Token darstellt. Das number zeigt, wo im Muster dieses Token im Vergleich zu den anderen dynamischen Token erscheint.
Zu den gängigen Beispielen für dynamische Token gehören Fehlercodes, Zeitstempel und Anforderungs-IDs. Ein Tokenwert stellt einen bestimmten Wert eines dynamischen Tokens dar. Wenn beispielsweise ein dynamisches Token einen HTTP-Fehlercode darstellt, könnte es sich um einen Tokenwert handeln501.
Die Mustererkennung wird auch in den Funktionen CloudWatch Logs zur Erkennung und zum Vergleich von Anomalien 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 Protokollereignisse als auch Muster in den Ergebnissen angezeigt.
Wenn Sie den pattern Befehl in Ihre Abfrage aufnehmen, wird die Musteranalyse für den gesamten übereinstimmenden Satz von Protokollereignissen durchgeführt. Dadurch erhalten Sie genauere Musterergebnisse, aber die Rohprotokollereignisse 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 die Abfrage mit pattern einbeziehen, werden die auf der Registerkarte Muster angezeigten Ergebnisse aus allen Protokollereignissen abgeleitet, auf die die Abfrage zutrifft.
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 Protokolle und dann 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 Protokollereignissen angezeigt, die von der Abfrage zurückgegeben wurden. Oberhalb der Tabelle befindet sich eine Meldung darüber, wie viele Datensätze der Abfrage entsprachen, ähnlich der Anzeige von 10.000 von 71.101 übereinstimmenden Datensätzen.
-
Wählen Sie die Registerkarte Muster.
-
In der Tabelle werden jetzt die in der Abfrage gefundenen Muster angezeigt. Da der
patternBefehl nicht in der Abfrage enthalten war, werden auf dieser Registerkarte nur die Muster angezeigt, die unter den 10.000 Protokollereignissen erkannt wurden, die in der Tabelle auf der Registerkarte „Protokolle“ aufgeführt 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, den das Token darstellt. 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.
-
Das Ereignisverhältnis, 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 Fehler enthält.
-
WARN, wenn das Muster das Wort Warn, aber nicht Error enthält.
-
INFO, wenn das Muster weder Warn noch Error enthält.
Wählen Sie die Spaltenüberschrift „Informationen zum Schweregrad“, um die Muster nach Schweregrad zu sortieren.
-
-
-
Ändern Sie nun die Abfrage. Ersetzen Sie die
| sort @timestamp descZeile in der Abfrage durch| pattern @message, sodass die komplette 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, abhängig von der Gesamtzahl der abgefragten Protokollereignisse.
-
Unabhängig davon, ob Sie diese
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 Inspect für eines der Muster aus.Das Fenster zur Musterprüfung wird angezeigt und zeigt Folgendes an:
-
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. einen plötzlichen Anstieg des Auftretens eines Musters.
-
Auf der Registerkarte „Beispiele protokollieren“ 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 Tokenwerte erfasst. Die Anzahl der Tokens ist möglicherweise nicht genau. CloudWatch Logs verwendet einen probabilistischen Zähler, um die Token-Anzahl 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 auftraten, das Sie untersuchen. Wenn beispielsweise ein Muster für eine
ERRORNachricht in der Regel von einem anderen Protokollereignis begleitet wurde, das alsINFOmit zusätzlichen Details gekennzeichnet ist, wird dieses Muster hier angezeigt.
-
Einzelheiten zum Pattern-Befehl
Dieser Abschnitt enthält weitere Informationen über den pattern Befehl und seine Verwendung.
-
Im vorherigen Tutorial haben wir den
sortBefehl beim Hinzufügen entfernt,patternda 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 es
patternin einer Abfrage verwenden,@messagemuss eines der Felder impatternBefehl ausgewählt sein. -
Sie können den
filterBefehl vor einempatternBefehl angeben, 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 ohne Protokollausgabe, wie z. B. Abfragen mit dem
statsBefehl, geben keine Musterergebnisse zurück.