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. Sie können eine Nachschlagetabelle mit CSV-Daten füllen, die Sie in Amazon CloudWatch Logs hochladen, oder mit den Ergebnissen einer abgeschlossenen oder stornierten Protokollabfrage. Wenn eine Abfrage ausgeführt wird, gleicht der lookup Befehl ein Feld in Ihren Protokollereignissen mit einem Feld in der Nachschlagetabelle ab und hängt die angegebenen Ausgabefelder an die Ergebnisse an.
Verwenden Sie Nachschlagetabellen für Szenarien zur Datenanreicherung, z. B. für die Zuordnung von Benutzer-IDs zu Benutzerdetails, Produktcodes zu Produktinformationen oder Fehlercodes zu Fehlerbeschreibungen.
Lookup-Tabellen erstellen und verwalten
Bevor Sie den lookup Befehl in einer Abfrage verwenden können, müssen Sie eine Nachschlagetabelle erstellen. Sie können Lookup-Tabellen ü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 Nachschlagetabellen und wählen Sie Verwalten aus.
-
Wählen Sie Nachschlagetabelle erstellen.
-
Geben Sie einen Namen für die Nachschlagetabelle ein. Der Name darf nur alphanumerische Zeichen und Unterstriche enthalten.
-
(Optional) Geben Sie eine Beschreibung ein.
-
Laden Sie eine CSV-Datei hoch. Die Datei muss eine Kopfzeile mit Spaltennamen enthalten, eine 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 wählen Sie 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.
Anstatt CSV-Daten hochzuladen, können Sie auch anhand der Ergebnisse einer abgeschlossenen oder abgebrochenen Protokollabfrage, die Sie in der Log Analytics-Konsole oder mit der Amazon CloudWatch Logs API ausführen, eine Lookup-Tabelle erstellen oder aktualisieren. Geben Sie die Abfrage-ID mit dem queryId Parameter der CreateLookupTable oder UpdateLookupTable API an. Eine stornierte Abfrage füllt die Tabelle mit den Teilergebnissen, die verfügbar waren, als die Abfrage gestoppt wurde. Sie müssen entweder den CSV-Inhalt oder eine Abfrage-ID angeben, aber nicht beide. Das Aktualisieren einer Tabelle ist ein vollständiger Ersetzungsvorgang — der gesamte vorhandene Inhalt wird unabhängig von der Quelle ersetzt. Um eine Nachschlagetabelle mit Abfrageergebnissen automatisch nach einem Zeitplan zu aktualisieren, verwenden Sie eine geplante Abfrage mit einem Ziel der Nachschlagetabelle. Weitere Informationen finden Sie unter Konfiguration der Ziele von Lookup-Tabellen für geplante Abfragen.
Anmerkung
Sie können pro Konto bis zu 100 Nachschlagetabellen erstellen AWS-Region. CSV-Dateien können bis zu 10 MB groß sein. Sie können Lookup-Tabellen auch mithilfe der Amazon CloudWatch Logs API verwalten. Weitere Informationen finden Sie CreateLookupTable in der Amazon CloudWatch Logs API-Referenz.
Anmerkung
Wenn die Lookup-Tabelle 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 zum Verschlüsseln der Lookup-Tabelle verwendet wird) verfügen, um die StartQuery API mit einer Abfrage zu verwenden, die auf diese Lookup-Tabelle 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 dargestellt.
lookuptablematch-fieldsoutput-modeoutput-field[,...]
Der Befehl verwendet die folgenden Argumente:
-
— Der Name der zu verwendenden Lookup-Tabelle.table -
— Geben Sie ein oder mehrere Felder an, um Protokollereignisse mit der Lookup-Tabelle abzugleichen. Sie können eine der folgenden Formen verwenden:match-fields-
—lookup-fieldaslog-field[,...]asWird verwendet, wenn der Name der Spalte in der Lookup-Tabelle vom Namen des Feldes für das Protokollereignis abweicht. Ordnet beispielsweiseip_address as srcAddrdieip_addressSpalte in der Nachschlagetabelle demsrcAddrFeld in Ihren Protokollereignissen zu. -
— Wenn der Feldname für das Protokollereignis mit dem Namen der Spalte in der Nachschlagetabelle identisch ist, können Sie den Feldnamen weglassenlookup-field[,...]asund direkt angeben.department, roleVergleicht beispielsweise beide Spalten mit Protokollereignisfeldern mit denselben Namen.
Wenn mehrere Übereinstimmungsfelder angegeben werden, muss eine Zeile in der Nachschlagetabelle allen Feldern entsprechen, um ein Ergebnis zu erhalten (UND-Logik).
-
-
— 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 im Protokollereignis bereits ein Feld mit demselben Namen vorhanden ist, wird es mit dem Wert der Lookup-Tabelle ü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 zu 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 reichert jedes Protokollereignis mit dem Namen, der E-Mail-Adresse und der Abteilung des Benutzers aus der Nachschlagetabelle an.
fields action, status, name, email, department | lookup user_data id OUTPUT name, email, department
Beispiel: Verwenden Sie die Suche mit Aggregation
Sie können Suchausgabefelder 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: Suche mit Filter verwenden
Sie können Ergebnisse anhand der Felder filtern, die von der Suche zurückgegeben werden. Die folgende Abfrage reichert Protokollereignisse an und filtert dann, 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 Daten anzureichern, ohne sie zu überschreiben
Wenn Ihre Protokollereignisse bereits ein hostname Feld enthalten, es aber manchmal leer ist, verwenden Sie es, OUTPUTNEW um fehlende Werte auszufüllen, ohne vorhandene 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 nach mehr als einem Feld suchen. Die folgende Abfrage vergleicht beide srcAddr und dstPort bezieht sich auf die Nachschlagetabelle, 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)
Beispiel: Verwenden Sie die Suche mit übereinstimmenden Feldnamen
Wenn Ihre Feldnamen für Protokollereignisse exakt mit den Spaltennamen der Lookup-Tabelle übereinstimmen, können Sie das as Schlüsselwort weglassen. Die folgende Abfrage vergleicht beide department role Felder direkt mit der Nachschlagetabelle.
fields @timestamp, department, role | lookup employees department, role OUTPUT office, manager