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.
Nachschlagen
Wird verwendetlookup, um Ihre Abfrageergebnisse mit Referenzdaten aus einer Nachschlagetabelle anzureichern. Eine Nachschlagetabelle enthält CSV-Daten, die Sie in Amazon CloudWatch Logs hochladen. Wenn eine Abfrage ausgeführt wird, gleicht der lookup Befehl ein Feld in Ihren Protokollereignissen mit einem Feld in der Nachschlagetabelle ab und fügt die angegebenen Ausgabefelder an die Ergebnisse an.
Verwenden Sie Nachschlagetabellen für Szenarien zur Datenanreicherung, z. B. für die Zuordnung von Benutzer- und Benutzerdetails, von Produktcodes zu Produktinformationen oder von Fehlercodes zu Fehlerbeschreibungen. IDs
Nachschlagetabellen erstellen und verwalten
Bevor Sie den lookup Befehl in einer Abfrage verwenden können, müssen Sie eine Nachschlagetabelle erstellen. Sie können Nachschlagetabellen über die CloudWatch Konsole oder mithilfe der Amazon CloudWatch Logs-API erstellen und verwalten.
Um eine Nachschlagetabelle (Konsole) zu erstellen
-
Öffnen Sie die CloudWatch Konsole unter https://console.aws.amazon.com/cloudwatch/
. -
Wählen Sie im Navigationsbereich Einstellungen und dann die Registerkarte Protokolle aus.
-
Scrollen Sie zu Lookup-Tabellen und wählen Sie Verwalten aus.
-
Wählen Sie Nachschlagetabelle erstellen aus.
-
Geben Sie einen Namen für die Nachschlagetabelle ein. Der Name darf nur alphanumerische Zeichen, Bindestriche und Unterstriche enthalten.
-
(Optional) Geben Sie eine Beschreibung ein.
-
Laden Sie eine CSV-Datei hoch. Die Datei muss eine Kopfzeile mit Spaltennamen enthalten, die UTF-8-Kodierung verwenden und darf 10 MB nicht überschreiten.
-
(Optional) Geben Sie einen AWS KMS Schlüssel zum Verschlüsseln der Tabellendaten an.
-
Wählen Sie Erstellen aus.
Nachdem Sie eine Nachschlagetabelle erstellt haben, können Sie sie im CloudWatch Logs Insights-Abfrage-Editor anzeigen. Wählen Sie die Registerkarte Nachschlagetabellen, um die verfügbaren Tabellen und ihre Felder zu durchsuchen.
Um eine Nachschlagetabelle zu aktualisieren, wählen Sie die Tabelle aus und klicken Sie auf Aktionen, Aktualisieren. Laden Sie eine neue CSV-Datei hoch, um den gesamten vorhandenen Inhalt zu ersetzen. Um eine Nachschlagetabelle zu löschen, wählen Sie Aktionen, Löschen.
Anmerkung
Sie können bis zu 100 Nachschlagetabellen pro Konto pro Konto erstellen AWS-Region. CSV-Dateien können bis zu 10 MB groß sein. Sie können Nachschlagetabellen auch mithilfe der Amazon CloudWatch Logs-API verwalten. Weitere Informationen finden Sie CreateLookupTablein der Amazon CloudWatch Logs API-Referenz.
Anmerkung
Wenn die Nachschlagetabelle mit einem KMS-Schlüssel verschlüsselt ist, muss der Aufrufer über die kms:Decrypt Berechtigung für den Schlüssel (den KMS-Schlüssel, der zur Verschlüsselung der Nachschlagetabelle verwendet wird) verfügen, um die StartQuery API mit einer Abfrage zu verwenden, die auf diese Nachschlagetabelle verweist. Weitere Informationen finden Sie unter Verschlüsseln Sie Nachschlagetabellen in CloudWatch Protokollen mit AWS Key Management Service.
Abfragesyntax für die Suche
Befehlsstruktur
Im Folgenden wird das Format dieses Befehls veranschaulicht.
lookuptablelookup-fieldaslog-field[,...]output-modeoutput-field[,...]
Der Befehl verwendet die folgenden Argumente:
-
— Der Name der zu verwendenden Nachschlagetabelle.table -
— Das Feld in der Nachschlagetabelle, mit dem ein Abgleich durchgeführt werden soll.lookup-field -
— Das Feld in Ihren Protokollereignissen, das zugeordnet werden soll. Die Übereinstimmung ist exakt und es wird zwischen Groß- und Kleinschreibung unterschieden.log-field -
— Sie können mehrere Suchfeldpaare angeben, die durch Kommas getrennt sind. Wenn mehrere Paare angegeben werden, muss eine Zeile in der Nachschlagetabelle allen Feldern entsprechen, um ein Ergebnis zu erhalten (UND-Logik).lookup-fieldaslog-field[,...] -
— Gibt an, wie Ausgabefelder zu den Ergebnissen hinzugefügt werden. Nutzen Sie einen der Folgenden:output-mode-
OUTPUT— Fügt die Ausgabefelder zu den Ergebnissen hinzu. Wenn ein Feld mit demselben Namen bereits im Protokollereignis vorhanden ist, wird es mit dem Wert der Nachschlagetabelle überschrieben. Wenn keine Übereinstimmung gefunden wird, wird das Feld auf Null gesetzt. -
OUTPUTNEW— Fügt die Ausgabefelder nur dann zu den Ergebnissen hinzu, wenn das Feld nicht bereits im Protokollereignis vorhanden ist. Wenn das Feld bereits einen Wert hat, wird der ursprüngliche Wert beibehalten. Wenn keine Übereinstimmung gefunden wird, bleibt das Feld unverändert.
-
-
— Ein oder mehrere Felder aus der Nachschlagetabelle, die den Ergebnissen hinzugefügt werden sollen.output-field
Beispiel: Reichern Sie Protokollereignisse mit Benutzerdetails an
Angenommen, Sie haben eine Protokollgruppe mit Ereignissen, die ein id Feld enthalten, und eine Nachschlagetabelle user_data mit den Spalten idname,email, unddepartment. Die folgende Abfrage bereichert jedes Protokollereignis mit dem Namen, der E-Mail-Adresse und der Abteilung des Benutzers aus der Nachschlagetabelle.
fields action, status, name, email, department | lookup user_data id OUTPUT name, email, department
Beispiel: Verwenden Sie Lookup mit Aggregation
Sie können Lookup-Ausgabefelder mit Aggregationsfunktionen verwenden. Die folgende Abfrage reichert Protokollereignisse mit Benutzerdetails an und zählt dann Ereignisse, gruppiert nach E-Mail-Adresse.
fields user_id, action, username, email, department | lookup user_data user_id OUTPUT username, email, department | stats count(*) by email
Beispiel: Verwenden Sie die Suche mit Filter
Sie können Ergebnisse auf der Grundlage von Feldern filtern, die bei der Suche zurückgegeben wurden. Mit der folgenden Abfrage werden Protokollereignisse erweitert und anschließend gefiltert, sodass nur Ereignisse aus einer bestimmten Abteilung angezeigt werden.
fields user_id, action | lookup user_data user_id OUTPUT username, email, department | filter department = "Engineering"
Beispiel: Verwenden Sie OUTPUTNEW, um die Daten anzureichern, ohne sie zu überschreiben
Wenn Ihre Protokollereignisse bereits ein hostname Feld enthalten, dieses aber manchmal leer ist, können Sie es verwenden, OUTPUTNEW um fehlende Werte auszufüllen, ohne die vorhandenen zu überschreiben.
fields srcAddr, hostname | lookup known_hosts ip_address as srcAddr OUTPUTNEW hostname, region
Beispiel: Verwenden Sie die Suche mit mehreren Übereinstimmungsfeldern
Sie können in mehr als einem Feld einen Abgleich vornehmen. Die folgende Abfrage gleicht srcAddr sowohl als auch mit der dstPort Nachschlagetabelle ab, um bekannte Netzwerkdienste zu identifizieren.
fields @timestamp, srcAddr, dstAddr, dstPort | lookup network_services ip_address as srcAddr, port as dstPort OUTPUT service_name, owner | filter ispresent(service_name)