View a markdown version of this page

Logs mit CloudWatch Logs Insights abfragen - 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.

Logs mit CloudWatch Logs Insights abfragen

CloudWatch Mit Logs Insights können Sie Ihre Serverzugriffsprotokolldaten interaktiv suchen und analysieren. Abfragen werden für die Protokollgruppe ausgeführt, an die Ihre Protokolle übermittelt werden, und liefern innerhalb von Sekunden Ergebnisse.

Anmerkung

Informationen zum Abfragen von Protokollen, die an einen Amazon S3 S3-Allzweck-Bucket gesendet wurden, finden Sie unterAbfragen von Zugriffsprotokollen für Anforderungen über Amazon Athena. Informationen zum Abfragen des S3-Tabellenspiegels mit SQL finden Sie unter. Abfragen von Zugriffsprotokollen in S3-Tabellen

Erste Schritte

  1. Öffnen Sie die CloudWatch Konsole unter. https://console.aws.amazon.com/cloudwatch/

  2. Wählen Sie im Navigationsbereich Logs und dann Logs Insights aus.

  3. Wählen Sie in der Protokollgruppenauswahl Ihre Protokollgruppe für den Serverzugriff aus.

  4. Wählen Sie einen Zeitraum für Ihre Abfrage aus.

  5. Geben Sie eine Abfrage ein und wählen Sie Abfrage ausführen.

Verkehrsanalyse

Die folgenden Abfragen helfen Ihnen dabei, das Anforderungsvolumen und die Verkehrsmuster zu verstehen.

Beispiel Anforderungsvolumen im Laufe der Zeit
stats count(*) as requests by bin(5m) as interval | sort interval asc
Beispiel Mix nach Operationstyp anfragen
stats count(*) as cnt by operation | sort cnt desc
Beispiel Verkehr nach Bucket
stats count(*) as requests, sum(bytes_sent_size) as bytes_out by bucket_arn | sort requests desc

Behebung von Fehlern

Die folgenden Abfragen helfen Ihnen, Fehler zu identifizieren und zu diagnostizieren.

Beispiel Aufschlüsselung der Fehlerrate
filter http_status >= 400 | stats count(*) as error_count by http_status, error_code, operation | sort error_count desc
Beispiel 403 Anfragen mit verweigertem Zugriff
filter http_status = 403 | stats count(*) as denied_count by key_name, remote_ip, requester | sort denied_count desc
Beispiel Anfragen vom Typ 404 Nicht gefunden
filter http_status = 404 | stats count(*) as miss_count by key_name, error_code, remote_ip | sort miss_count desc
Beispiel 503 SlowDown (Drosselungs-) Ereignisse
filter http_status = 503 | stats count(*) as throttle_count by key_name, remote_ip | sort throttle_count desc

Zugriffsmuster

Die folgenden Abfragen helfen Ihnen zu verstehen, wer auf Ihre Daten zugreift und wie.

Beispiel Verkehr nach Quell-IP
stats count(*) as total_requests, sum(http_status >= 400) as errors, sum(bytes_sent_size) as bytes_transferred by remote_ip | sort total_requests desc
Beispiel Operationen nach Anforderer
stats count(*) as requests by requester, operation | sort requests desc
Beispiel Am häufigsten aufgerufene Schlüssel
filter operation like /REST\.(GET|PUT)\.OBJECT/ | stats count(*) as access_count, sum(bytes_sent_size) as bytes_out by key_name | sort access_count desc | limit 10

Latenzanalyse

Die folgenden Abfragen helfen Ihnen dabei, langsame Anfragen und Latenztrends zu identifizieren.

Beispiel Latenz nach Vorgangstyp
filter operation like /REST\.(GET|PUT)\.OBJECT/ | stats avg(total_duration) as avg_ms, pct(total_duration, 50) as p50_ms, pct(total_duration, 95) as p95_ms, max(total_duration) as max_ms, count(*) as requests by operation
Beispiel Langsamste Tasten nach p95-Latenz
filter operation like /REST\.GET\.OBJECT/ | stats avg(total_duration) as avg_ms, pct(total_duration, 95) as p95_ms, count(*) as requests by key_name | sort p95_ms desc | limit 10
Beispiel Latenz im Laufe der Zeit
filter operation like /REST\.(GET|PUT)\.OBJECT/ | stats avg(total_duration) as avg_ms, pct(total_duration, 95) as p95_ms by bin(5m) as interval | sort interval asc

Kostenzuweisung

Die folgenden Abfragen helfen Ihnen dabei, die Datenübertragung zu verstehen und Kostentreiber zu identifizieren.

Beispiel Datenübertragung nach Vorgang
filter operation like /REST\.(GET|PUT|DELETE)\.OBJECT/ | stats sum(bytes_sent_size) as total_bytes_out, sum(object_size) as total_object_bytes, count(*) as request_count by operation | sort total_bytes_out desc
Beispiel Größte Objekte, die bedient werden
filter operation like /REST\.GET\.OBJECT/ and bytes_sent_size > 0 | stats max(object_size) as max_size, avg(object_size) as avg_size, count(*) as reads by key_name | sort max_size desc | limit 10

Sicherheitsanalyse

Die folgenden Abfragen helfen Ihnen dabei, verdächtige Zugriffsmuster zu erkennen.

Beispiel IPs mit hohen Fehlerraten
stats count(*) as total, sum(http_status >= 400) as errors by remote_ip | filter errors > 10 | sort errors desc
Beispiel Fehlgeschlagene Zugriffsversuche per Schlüssel
filter http_status >= 400 | stats count(*) as attempts by remote_ip, key_name, operation, http_status | sort attempts desc | limit 20
Beispiel Verteilung der TLS-Version
stats count(*) as cnt by tls_version | sort cnt desc