

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.

# Interrogation des journaux avec CloudWatch Logs Insights
<a name="sal-cw-querying-insights"></a>

CloudWatch Logs Insights vous permet de rechercher et d'analyser de manière interactive les données du journal d'accès au serveur. Les requêtes sont exécutées sur le groupe de journaux dans lequel vos journaux sont fournis et renvoient les résultats en quelques secondes.

**Note**  
Pour interroger les journaux envoyés à un compartiment à usage général Amazon S3, consultez[Interrogation des journaux d’accès pour les demandes à l’aide d’Amazon Athena](using-s3-access-logs-to-identify-requests.md#querying-s3-access-logs-for-requests). Pour interroger le miroir des tables S3 avec SQL, consultez[Interrogation des journaux d'accès dans les tables S3](sal-cw-querying-s3tables.md).

## Prise en main
<a name="sal-cw-insights-getting-started"></a>

1. Ouvrez la CloudWatch console à l'adresse [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. Dans le volet de navigation, choisissez **Logs**, puis **Logs Insights**.

1. Sélectionnez le groupe de journaux d'accès au serveur dans le sélecteur de groupes de journaux.

1. Choisissez un intervalle de temps pour votre requête.

1. Entrez une requête et choisissez **Exécuter la requête**.

## Analyse du trafic
<a name="sal-cw-insights-traffic"></a>

Les requêtes suivantes vous aident à comprendre le volume des demandes et les modèles de trafic.

**Example Volume des demandes au fil du temps**  

```
stats count(*) as requests by bin(5m) as interval
| sort interval asc
```

**Example Mixage des demandes par type d'opération**  

```
stats count(*) as cnt by operation
| sort cnt desc
```

**Example Trafic par compartiment**  

```
stats count(*) as requests, sum(bytes_sent_size) as bytes_out by bucket_arn
| sort requests desc
```

## Résolution des problèmes d'erreur
<a name="sal-cw-insights-errors"></a>

Les requêtes suivantes vous aident à identifier et à diagnostiquer les erreurs.

**Example 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
```

**Example 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
```

**Example 404 requêtes introuvables**  

```
filter http_status = 404
| stats count(*) as miss_count by key_name, error_code, remote_ip
| sort miss_count desc
```

**Example 503 événements SlowDown (d'étranglement)**  

```
filter http_status = 503
| stats count(*) as throttle_count by key_name, remote_ip
| sort throttle_count desc
```

## Modèles d’accès
<a name="sal-cw-insights-access"></a>

Les requêtes suivantes vous aident à comprendre qui accède à vos données et comment.

**Example 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
```

**Example Opérations par le demandeur**  

```
stats count(*) as requests by requester, operation
| sort requests desc
```

**Example 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
<a name="sal-cw-insights-latency"></a>

Les requêtes suivantes vous aident à identifier les demandes lentes et les tendances de latence.

**Example 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
```

**Example Touches les plus lentes grâce à la latence 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
```

**Example 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
<a name="sal-cw-insights-cost"></a>

Les requêtes suivantes vous aident à comprendre le transfert de données et à identifier les facteurs de coût.

**Example 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
```

**Example 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é
<a name="sal-cw-insights-security"></a>

Les requêtes suivantes vous aident à détecter les modèles d'accès suspects.

**Example IP avec 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
```

**Example Tentatives d'accès par clé infructueuses**  

```
filter http_status >= 400
| stats count(*) as attempts by remote_ip, key_name, operation, http_status
| sort attempts desc
| limit 20
```

**Example Distribution des versions TLS**  

```
stats count(*) as cnt by tls_version
| sort cnt desc
```