Unterstützte Protokolle und erkannte Felder - 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.

Unterstützte Protokolle und erkannte Felder

CloudWatch Logs Insights unterstützt verschiedene Protokolltypen. Für jedes Protokoll, das an eine Protokollgruppe der Standardklasse Amazon CloudWatch Logs gesendet wird, generiert CloudWatch Logs Insights automatisch fünf Systemfelder:

  • @message enthält das rohe, unverarbeitete Protokollereignis. Dies entspricht dem message Feld in InputLogevent.

  • @timestamp enthält den Ereignis-Zeitstempel im timestamp-Feld des Protokollereignisses. Dies entspricht dem timestamp Feld in InputLogevent.

  • @ingestionTimeenthält die Uhrzeit, zu der CloudWatch Logs das Protokollereignis empfangen hat.

  • @logStream enthält den Namen des Protokoll-Streams, zu dem das Protokollereignis hinzugefügt wurde. Protokolldatenstromgruppen werden nach demselben Prozess protokolliert, der sie generiert hat.

  • @log ist ein Protokollgruppen-Bezeichner im folgenden Format: account-id:log-group-name Beim Abfragen mehrerer Protokollgruppen kann dies nützlich sein, um zu bestimmen, zu welcher Protokollgruppe ein bestimmtes Ereignis gehört.

Anmerkung

Die Felderkennung wird nur für Protokollgruppen der Standard-Protokollklasse unterstützt. Weitere Hinweise zu Protokollklassen finden Sie unterKlassen protokollieren.

CloudWatch Logs Insights fügt das @-Symbol am Anfang der generierten Felder ein.

Bei vielen Protokolltypen erkennt CloudWatch Logs auch automatisch die in den Protokollen enthaltenen Protokollfelder. Diese automatischen Suchfelder sind in der folgenden Tabelle dargestellt.

Bei anderen Protokolltypen mit Feldern, die CloudWatch Logs Insights nicht automatisch erkennt, können Sie den parse Befehl verwenden, um extrahierte Felder für die Verwendung in dieser Abfrage zu extrahieren und zu erstellen. Weitere Informationen finden Sie unter CloudWatch Syntax der Logs Insights-Abfrage.

Wenn der Name eines erkannten Protokollfeldes mit dem @ Zeichen beginnt, zeigt CloudWatch Logs Insights es mit einem zusätzlichen Zeichen an, das am Anfang @ angehängt wird. Wenn z. B. ein Protokollfeldname @example.comlautet, wird dieser Feldname als @@example.com angezeigt.

Protokolltyp Erkannte Protokollfelder

VPCAmazon-Flow-Logs

@timestamp, @logStream, @message, accountId, endTime, interfaceId, logStatus, startTime, version, action, bytes, dstAddr, dstPort, packets, protocol, srcAddr, srcPort

Route-53-Protokolle

@timestamp, @logStream, @message, edgeLocation, ednsClientSubnet, hostZoneId, protocol, queryName, queryTimestamp, queryType, resolverIp, responseCode, version

Lambda-Protokolle

@timestamp, @logStream, @message, @requestId, @duration, @billedDuration, @type, @maxMemoryUsed, @memorySize

Wenn eine Lambda-Protokollzeile eine X–Ray-Trace-ID enthält, enthält sie auch die folgenden Felder: @xrayTraceId und @xraySegmentId.

CloudWatch Logs Insights erkennt automatisch Protokollfelder in Lambda-Protokollen, jedoch nur für das erste eingebettete JSON Fragment in jedem Protokollereignis. Wenn ein Lambda-Protokollereignis mehrere JSON Fragmente enthält, können Sie die Protokollfelder mit dem Befehl analysieren und extrahieren. parse Weitere Informationen finden Sie unter Felder in JSON Protokollen.

CloudTrail Logs

Loggt im JSON Format

Weitere Informationen finden Sie unter Felder in JSON Protokollen.

Andere Protokolltypen

@timestamp, @ingestionTime, @logStream, @message, @log.

Felder in JSON Protokollen

Bei CloudWatch Logs Insights verwenden Sie die Punktnotation zur Darstellung von JSON Feldern. Dieser Abschnitt enthält ein JSON Beispielereignis und einen Codeausschnitt, die zeigen, wie Sie mithilfe der Punktnotation auf JSON Felder zugreifen können.

Beispiel: Ereignis JSON

{ "eventVersion": "1.0", "userIdentity": { "type": "IAMUser", "principalId": "EX_PRINCIPAL_ID", "arn": "arn: aws: iam: : 123456789012: user/Alice", "accessKeyId": "EXAMPLE_KEY_ID", "accountId": "123456789012", "userName": "Alice" }, "eventTime": "2014-03-06T21: 22: 54Z", "eventSource": "ec2.amazonaws.com", "eventName": "StartInstances", "awsRegion": "us-east-2", "sourceIPAddress": "192.0.2.255", "userAgent": "ec2-api-tools1.6.12.2", "requestParameters": { "instancesSet": { "items": [ { "instanceId": "i-abcde123" } ] } }, "responseElements": { "instancesSet": { "items": [ { "instanceId": "i-abcde123", "currentState": { "code": 0, "name": "pending" }, "previousState": { "code": 80, "name": "stopped" } } ] } } }

Das JSON Beispielereignis enthält ein Objekt, das benannt istuserIdentity. userIdentityenthält ein benanntes Feldtype. Um den Wert von type mit Punktnotation darzustellen, verwenden Sie userIdentity.type.

Das JSON Beispielereignis enthält Arrays, die sich zu Listen verschachtelter Feldnamen und Werte zusammenfassen lassen. Verwenden Sie requestParameters.instancesSet.items.0.instanceId, um den Wert von instanceId für das erste Element in requestParameters.instancesSet darzustellen. Die Zahl 0, die vor dem Feld instanceID platziert ist, bezieht sich auf die Position von Werten für das Feld items. Das folgende Beispiel enthält einen Codeausschnitt, der zeigt, wie Sie auf verschachtelte JSON Felder in einem Protokollereignis zugreifen können. JSON

Beispiel: Abfrage

fields @timestamp, @message | filter requestParameters.instancesSet.items.0.instanceId="i-abcde123" | sort @timestamp desc

Der Codeausschnitt zeigt eine Abfrage, bei der die Punktnotation mit dem filter Befehl verwendet wird, um auf den Wert des verschachtelten Felds zuzugreifen. JSON instanceId Die Abfrage filtert nach Nachrichten, bei denen der Wert von instanceId "i-abcde123" entspricht, und gibt alle Protokollereignisse zurück, die den angegebenen Wert enthalten.

Anmerkung

CloudWatch Logs Insights kann maximal 200 Protokollereignisfelder aus einem Protokoll extrahieren. JSON Zusätzliche Felder, die nicht extrahiert werden, können Sie mit dem Befehl parse aus dem nicht analysierten Protokollereignis im Nachrichtenfeld extrahieren. Weitere Informationen zu dem parse Befehl finden Sie unter Abfragesyntax im CloudWatch Amazon-Benutzerhandbuch.