View a markdown version of this page

filterIndex - 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.

filterIndex

Wird verwendet, filterIndex um nur indizierte Daten zurückzugeben, indem eine Abfrage erzwungen wird, nur Protokollgruppen zu scannen, die in einem Feld indiziert sind, das Sie in der Abfrage angeben. Für diese Protokollgruppen, die in diesem Feld indiziert sind, wird die Abfrage weiter optimiert, indem die Protokollgruppen übersprungen werden, die keine Protokollereignisse enthalten, die das in der Abfrage für das indizierte Feld angegebene Feld enthalten. Das gescannte Volumen wird weiter reduziert, indem versucht wird, nur Protokollereignisse aus diesen Protokollgruppen zu scannen, die dem in der Abfrage für diesen Feldindex angegebenen Wert entsprechen. Weitere Informationen zu Feldindizes und deren Erstellung finden Sie unterErstellen Sie Feldindizes, um die Abfrageleistung zu verbessern und das Scanvolumen zu reduzieren.

filterIndexMithilfe indizierter Felder können Sie Protokollgruppen, die Petabyte an Protokolldaten enthalten, effizient abfragen, indem Sie den tatsächlichen Suchbereich auf Protokollgruppen und Protokollereignisse mit Feldindizes beschränken.

Nehmen wir beispielsweise an, Sie haben einen Feldindex für einige der Protokollgruppen IPaddress in Ihrem Konto erstellt. Sie können dann die folgende Abfrage erstellen und alle Protokollgruppen im Konto abfragen, um nach Protokollereignissen zu suchen, die den Wert 198.51.100.0 im IPaddress Feld enthalten.

fields @timestamp, @message | filterIndex IPaddress = "198.51.100.0" | limit 20

Der filterIndex Befehl veranlasst diese Abfrage, alle Protokollgruppen zu überspringen, für IPaddress die kein Index erstellt wurde. Darüber hinaus überspringt die Abfrage innerhalb der indexierten Protokollgruppen Protokollereignisse, die ein IPaddress Feld enthalten, aber nicht 198.51.100.0 als Wert für dieses Feld beobachtet wurden.

Verwenden Sie den IN Operator, um die Ergebnisse auf einen von mehreren Werten für die indizierten Felder zu erweitern. Im folgenden Beispiel werden Protokollereignisse gesucht, die entweder den Wert 198.51.100.0 oder das 198.51.100.1 IPaddress Feld enthalten.

fields @timestamp, @message | filterIndex IPaddress in ["198.51.100.0", "198.51.100.1"] | limit 20

CloudWatch Logs stellt Standardfeldindizes für alle Protokollgruppen in der Standard-Protokollklasse bereit. Standardfeldindizes sind automatisch für die folgenden Felder verfügbar:

  • @logStream

  • @aws.region

  • @aws.account

  • @source.log

  • @data_source_name

  • @data_source_type

  • @data_format

  • traceId

  • severityText

  • attributes.session.id

CloudWatch Logs bietet auch Standardfeldindizes für bestimmte Kombinationen von Datenquellennamen und -typen. Standardfeldindizes sind automatisch für die folgenden Kombinationen aus Datenquellennamen und -typ verfügbar:

Name und Typ der Datenquelle Standard-Feldindizes

amazon_vpc.flow

action

logStatus

region

flowDirection

type

amazon_route53.resolver_query

query_type

transport

rcode

aws_waf.access

action

httpRequest.country

aws_cloudtrail.data

aws_cloudtrail.management

eventSource

eventName

awsRegion

userAgent

errorCode

eventType

managementEvent

readOnly

eventCategory

requestId

Standardfeldindizes kommen zusätzlich zu allen benutzerdefinierten Feldindizes hinzu, die Sie in Ihrer Richtlinie definieren. Standardfeldindizes werden nicht auf Ihr Feldindexkontingent angerechnet.

FilterIndex im Vergleich zum Filter

Betrachten Sie die folgenden Beispielabfragenfilter, um den Unterschied zwischen filterIndex und zu veranschaulichen. Angenommen, Sie haben einen Feldindex für IPaddress vier Ihrer Protokollgruppen erstellt, nicht jedoch für eine fünfte Protokollgruppe. Wenn Sie die folgende Abfrage verwenden, filterIndex wird das Scannen der Protokollgruppe übersprungen, für die das Feld nicht indexiert ist. Für jede indizierte Protokollgruppe wird versucht, nur Protokollereignisse zu scannen, die das indizierte Feld enthalten, und es werden auch nur Ergebnisse zurückgegeben, die nach der Erstellung des Feldindex entstanden sind.

fields @timestamp, @message | filterIndex IPaddress = "198.51.100.0" | limit 20

Wenn Sie filter stattdessen statt filterIndex für eine Abfrage derselben fünf Protokollgruppen verwenden, versucht die Abfrage, nicht nur die Protokollereignisse zu scannen, die den Wert in den indizierten Protokollgruppen enthalten, sondern auch die fünfte Protokollgruppe zu scannen, die nicht indexiert ist, und sie scannt jedes Protokollereignis in dieser fünften Protokollgruppe.

fields @timestamp, @message | filter IPaddress = "198.51.100.0" | limit 20