Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Interroger les journaux avec CloudWatch Logs Insights
CloudWatch Logs Insights vous permet de rechercher et d'analyser de manière interactive les données de vos journaux d'accès au serveur. Les requêtes sont exécutées sur le groupe de journaux dans lequel vos journaux sont transmis et renvoient les résultats en quelques secondes.
Note
Pour interroger les journaux envoyés à un compartiment à usage général Amazon S3, consultezInterrogation des journaux d’accès pour les demandes à l’aide d’Amazon Athena. Pour interroger le miroir S3 Tables avec SQL, consultezInterroger les journaux d'accès dans les tables S3.
Prise en main
-
Ouvrez la CloudWatch console à l'adresse https://console.aws.amazon.com/cloudwatch/
. -
Dans le volet de navigation, choisissez Logs, puis Logs Insights.
-
Sélectionnez votre groupe de journaux d'accès au serveur dans le sélecteur de groupe de journaux.
-
Choisissez un intervalle de temps pour votre requête.
-
Entrez une requête et choisissez Exécuter la requête.
Analyse du trafic
Les requêtes suivantes vous aident à comprendre le volume des demandes et les modèles de trafic.
Exemple Volume des demandes au fil du temps
stats count(*) as requests by bin(5m) as interval | sort interval asc
Exemple Combinaison des demandes par type d'opération
stats count(*) as cnt by operation | sort cnt desc
Exemple Trafic par tranche
stats count(*) as requests, sum(bytes_sent_size) as bytes_out by bucket_arn | sort requests desc
Résolution des erreurs
Les requêtes suivantes vous aident à identifier et à diagnostiquer les erreurs.
Exemple Répartition du taux d'erreur
filter http_status >= 400 | stats count(*) as error_count by http_status, error_code, operation | sort error_count desc
Exemple 403 Demandes d'accès refusées
filter http_status = 403 | stats count(*) as denied_count by key_name, remote_ip, requester | sort denied_count desc
Exemple 404 requêtes introuvables
filter http_status = 404 | stats count(*) as miss_count by key_name, error_code, remote_ip | sort miss_count desc
Exemple 503 SlowDown événements (étranglement)
filter http_status = 503 | stats count(*) as throttle_count by key_name, remote_ip | sort throttle_count desc
Modèles d’accès
Les requêtes suivantes vous aident à comprendre qui accède à vos données et comment.
Exemple Trafic par adresse IP source
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
Exemple Opérations par demandeur
stats count(*) as requests by requester, operation | sort requests desc
Exemple Clés les plus consultées
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
Analyse de latence
Les requêtes suivantes vous aident à identifier les requêtes lentes et les tendances de latence.
Exemple Latence par type d'opération
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
Exemple Clés les plus lentes en termes de latence de p95
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
Exemple Latence dans le temps
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
Attribution des coûts
Les requêtes suivantes vous aident à comprendre le transfert de données et à identifier les inducteurs de coûts.
Exemple Transfert de données par opération
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
Exemple Les plus gros objets servis
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
Analyse de sécurité
Les requêtes suivantes vous aident à détecter les modèles d'accès suspects.
Exemple IP présentant des taux d'erreur élevés
stats count(*) as total, sum(http_status >= 400) as errors by remote_ip | filter errors > 10 | sort errors desc
Exemple Tentatives d'accès échouées par clé
filter http_status >= 400 | stats count(*) as attempts by remote_ip, key_name, operation, http_status | sort attempts desc | limit 20
Exemple Distribution des versions TLS
stats count(*) as cnt by tls_version | sort cnt desc