View a markdown version of this page

Protokollformat in CloudWatch Logs - Amazon Simple Storage Service

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.

Protokollformat in CloudWatch Logs

Wenn Amazon S3 S3-Serverzugriffsprotokolle an Amazon CloudWatch Logs übermittelt werden, ist jeder Protokolldatensatz ein strukturiertes JSON-Objekt. Dies unterscheidet sich von dem durch Leerzeichen getrennten Textformat, das für die Lieferung an einen Amazon S3 S3-Allzweck-Bucket verwendet wird. Durch das strukturierte Format können Felder in CloudWatch Logs Insights ohne Regex-Parsing direkt abgefragt werden.

Anmerkung

Informationen zum durch Leerzeichen getrennten Textformat, das für die allgemeine Bucket-Lieferung verwendet wird, finden Sie unter. Amazon-S3-Server-Zugriffsprotokollformat

Protokolldatensatzfelder

In der folgenden Tabelle werden die Felder in den einzelnen Datensätzen des Serverzugriffsprotokolls beschrieben, die an Logs übermittelt werden. CloudWatch

Felder für das Serverzugriffs-Protokoll in CloudWatch Logs
Feld Typ Description
schema_version_id Zeichenfolge Versions-ID für das Protokolldatensatzschema (z. B.V_1_0). Verwenden Sie dieses Feld, um Schemaänderungen zu erkennen, wenn in future Versionen neue Felder hinzugefügt werden.
bucket_arn Zeichenfolge ARN des Quell-Buckets.
bucket_name Zeichenfolge Name des Buckets, an den die Anfrage gestellt wurde. Abgeleitet vom Bucket ARN.
request_time Zeichenfolge Uhrzeit, zu der die Anfrage empfangen wurde, in UTC. Formatiert als ISO 8601 ()yyyy-MM-dd'T'HH:mm:ss.SSS'Z'. In der S3-Tabellen-Integration (Iceberg) wird dieses Feld als gespeichert. timestamptz
bucket_owner_id Zeichenfolge Kanonische Benutzer-ID des Besitzers des Quell-Buckets.
remote_ip Zeichenfolge Scheinbare IP-Adresse des Anforderers. Standardmäßig auf, null falls nicht verfügbar.
requester Zeichenfolge Kanonische Benutzer-ID des Anforderers oder null für nicht authentifizierte Anfragen. Für IAM-Benutzer und -Rollen ist dies der ARN.
request_id Zeichenfolge Eindeutige Kennung, die von Amazon S3 für jede Anfrage generiert wird. Die Standardeinstellung ist, null falls nicht verfügbar.
operation Zeichenfolge Der Vorgang, der ausgeführt wurde, zum Beispiel REST.GET.OBJECT oderREST.PUT.OBJECT. Die Standardeinstellung ist, null falls nicht verfügbar.
key_name Zeichenfolge Objektschlüssel in der Anfrage oder null wenn der Vorgang kein Objekt umfasst.
request_uri Zeichenfolge Der Request-URI Teil der HTTP-Anforderungsnachricht oder, null falls nicht verfügbar.
http_status int Numerischer HTTP-Statuscode der Antwort, zum Beispiel 200 oder403. Der Standardwert ist, null falls nicht verfügbar.
error_code Zeichenfolge Amazon S3 S3-Fehlercode, zum Beispiel NoSuchKey oderAccessDenied, oder null wenn kein Fehler aufgetreten ist.
bytes_sent_size long Anzahl der gesendeten Antwortbytes, ohne HTTP-Protokoll-Overhead. Der Standardwert ist, null falls nicht verfügbar.
object_size long Gesamtgröße des Objekts. Der Standardwert ist, null falls nicht verfügbar.
total_duration long Gesamtzeit der Anfrage vom Empfang der Anfrage bis zum letzten Byte der gesendeten Antwort, in Millisekunden. Die Standardeinstellung ist, falls nicht verfügbarnull.
turn_around_duration long Zeit, die Amazon S3 mit der Bearbeitung der Anfrage verbracht hat, in Millisekunden. Dieser Wert wird ab dem Zeitpunkt gemessen, zu dem das letzte Byte der Anfrage empfangen wurde, bis zu dem Zeitpunkt, zu dem das erste Byte der Antwort gesendet wurde. Der Standardwert ist, null falls nicht verfügbar.
referer Zeichenfolge Wert des Referer HTTP-Headers, oder null falls nicht vorhanden.
user_agent Zeichenfolge Wert des User-Agent HTTP-Headers. Der Standardwert ist, null falls nicht verfügbar.
version_id Zeichenfolge Versions-ID in der Anfrage oder null wenn der Vorgang kein versioniertes Objekt beinhaltet.
host_id Zeichenfolge Erweiterte Amazon S3 S3-Anforderungs-ID (x-amz-id-2). Standardmäßig auf null falls nicht verfügbar.
signature_version Zeichenfolge Signaturversion, die zur Authentifizierung der Anfrage verwendet wurde: SigV2 oder. SigV4 Die Standardeinstellung ist null für nicht authentifizierte Anfragen.
cipher_suite Zeichenfolge Die TLS Cipher Suite wurde für HTTPS-Anfragen oder für HTTP ausgehandelt. null
authentication_type Zeichenfolge Art der Anforderungsauthentifizierung:AuthHeader,QueryString, oder. null
host_header Zeichenfolge Endpunkt, der für die Verbindung mit Amazon S3 verwendet wird. Standardmäßig auf, null falls nicht verfügbar.
tls_version Zeichenfolge Vom Client ausgehandelte TLS-Version:TLSv1.1, TLSv1.2TLSv1.3, odernull.
access_point_arn Zeichenfolge ARN des Access Points, der für die Anfrage verwendet wurde, oder null wenn die Anfrage keinen Access Point verwendet hat.
acl_required boolesch Ob eine ACL für die Anfrage erforderlich war. Standardmäßig auf, null wenn nicht zutreffend.
source_region Zeichenfolge AWS-Region von dem die Anfrage stammt, oder null wenn die Ursprungsregion nicht bestimmt werden kann (z. B. PrivateLink Verbindungen, Direct Connect-Verbindungen, Bring Your Own IP-Adressen (BYOIP) oder AWS Nicht-IP-Adressen) oder wenn das Protokoll durch Vorgänge generiert wird, die auf vom Kunden festgelegten Richtlinien oder Aktionen wie Lebenszyklus und Prüfsumme basieren.

Beispiel für einen Protokolldatensatz

Im Folgenden finden Sie ein Beispiel für einen Serverzugriffsprotokolleintrag, wie er in CloudWatch Logs angezeigt wird.

{ "schema_version_id": "V_1_0", "bucket_arn": "arn:aws:s3:::my-data-bucket", "bucket_name": "my-data-bucket", "request_time": "2026-04-29T14:32:16.000Z", "bucket_owner_id": "79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be", "remote_ip": "203.0.113.45", "requester": "arn:aws:iam::123456789012:role/DataAnalystRole", "request_id": "3E57427F33A59F07", "operation": "REST.GET.OBJECT", "key_name": "reports/2026/quarterly-summary.parquet", "request_uri": "GET /my-data-bucket/reports/2026/quarterly-summary.parquet HTTP/1.1", "http_status": 200, "error_code": null, "bytes_sent_size": 1048576, "object_size": 1048576, "total_duration": 45, "turn_around_duration": 12, "referer": null, "user_agent": "aws-sdk-java/2.20.0", "version_id": null, "host_id": "s9lzHYrFp76ZVxRcpX9+5cjAnEH2ROuNkd2BHfIa6UkFVdtjf5mKR3/eTPFvsiP/XV/VLi31234=", "signature_version": "SigV4", "cipher_suite": "TLS_AES_128_GCM_SHA256", "authentication_type": "AuthHeader", "host_header": "my-data-bucket.s3.us-east-1.amazonaws.com", "tls_version": "TLSv1.3", "access_point_arn": null, "acl_required": false, "source_region": "us-east-1" }

Unterschiede zum Bucket-Log-Format für allgemeine Zwecke

Das CloudWatch Logs-Log-Format unterscheidet sich in folgenden Punkten vom Allzweck-Bucket-Log-Format:

  • Format — CloudWatch Logs sind strukturierte JSON-Objekte. Bucket-Logs für allgemeine Zwecke bestehen aus durch Leerzeichen getrenntem Text.

  • Feldnamen — Das CloudWatch Logs-Format verwendet beschreibende Feldnamen, die durch Unterstriche getrennt sind (z. B.,,,). bytes_sent_size total_duration key_name authentication_type Das allgemeine Bucket-Format ist positioneller Text, der durch Leerzeichen getrennt ist und keine benannten Spalten enthält.

  • Zusätzliche Felder — Das CloudWatch Logs-Format umfasst schema_version_id undbucket_arn, die im Bucket-Textformat für allgemeine Zwecke nicht vorkommen.

  • Keine Analyse erforderlich — Da CloudWatch Logs-Logs aus strukturiertem JSON bestehen, können Sie einzelne Felder direkt in CloudWatch Logs Insights ohne Regex-Parsing abfragen. Das Bucket-Textformat für allgemeine Zwecke erfordert einen regulären Ausdruck oder einen benutzerdefinierten Parser, um Felder zu extrahieren.