

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.

# Utiliser l’interface de requête du Moniteur Internet
<a name="CloudWatch-IM-view-cw-tools-cwim-query"></a>

Pour mieux comprendre le trafic Internet de votre AWS application, vous pouvez utiliser l'*interface de requête* Internet Monitor. Pour utiliser l'interface de requête, vous créez une requête avec les filtres de données de votre choix, puis vous exécutez la requête pour renvoyer un sous-ensemble de vos données du Moniteur Internet. L'exploration des données renvoyées par la requête peut vous donner un aperçu des performances de votre application sur Internet.

Vous pouvez interroger et explorer toutes les mesures capturées par le Moniteur Internet avec votre moniteur, notamment les scores de disponibilité et de performance, les octets transférés, les temps d'aller-retour et le temps écoulé jusqu'au premier octet (TTFB). 

Le Moniteur Internet utilise l'interface de requête pour fournir les données que vous pouvez explorer dans le tableau de bord de la console du Moniteur Internet. En utilisant les options de recherche dans le tableau de bord, sur la page **Analyser** ou **Optimiser**, vous pouvez interroger et filtrer les données Internet pour votre application.

Si vous souhaitez explorer et filtrer vos données avec plus de flexibilité que celle fournie par le tableau de bord, vous pouvez utiliser vous-même l'interface de requête, en utilisant les opérations de l'API Internet Monitor avec le AWS Command Line Interface ou avec un AWS SDK. Cette section présente les types de requêtes que vous pouvez utiliser avec l'interface de requête, ainsi que les filtres que vous pouvez spécifier pour créer un sous-ensemble de données, afin d'obtenir des informations sur le trafic Internet de votre application.

**Topics**
+ [Comment utiliser l'interface de requête](#CloudWatch-IM-view-cw-tools-cwim-query-use-query)
+ [Exemples de requêtes](#CloudWatch-IM-view-cw-tools-cwim-query-example-queries)
+ [Obtention des résultats de requêtes](#CloudWatch-IM-view-cw-tools-cwim-query-get-data)
+ [Résolution des problèmes](#CloudWatch-IM-view-cw-tools-cwim-query-troubleshooting)

## Comment utiliser l'interface de requête
<a name="CloudWatch-IM-view-cw-tools-cwim-query-use-query"></a>

Vous créez une requête à l'aide de l'interface de requête en choisissant un *type de requête*, puis en spécifiant des valeurs de filtre, pour renvoyer un sous-ensemble spécifique souhaité des données de votre fichier journal. Vous pouvez ensuite utiliser le sous-ensemble de données pour filtrer et trier davantage, créer des rapports, etc.

Le processus de requête fonctionne de la manière suivante :

1. Lorsque vous exécutez une requête, le Moniteur Internet renvoie un `query ID` qui est unique à la requête. Cette section décrit les types de requêtes disponibles et les options de filtrage des données dans les requêtes. Pour comprendre comment cela fonctionne, vous pouvez également consulter la section sur les [exemples de requêtes](#IMQueryInterfaceExamples). 

1. Vous spécifiez l'ID de requête avec le nom de votre moniteur lors de l'opération d'[GetQueryResults](https://docs.aws.amazon.com/internet-monitor/latest/api/API_GetQueryResults.html)API pour renvoyer les résultats de la requête. Chaque type de requête renvoie un ensemble de champs de données différent. Pour en savoir plus, veuillez consulter [Obtention des résultats de requêtes](#IMGetQueryData).

L’interface d’interrogation fournit les types d’interrogation suivants. Chaque type de requête renvoie un ensemble d'informations différent à propos de votre trafic à partir des fichiers journaux, comme indiqué.
+ **Mesures :** fournit le score de disponibilité, le score de performance, le trafic total et les temps d’aller-retour, à intervalles de 5 minutes.
+ **Emplacements principaux :** fournit le score de disponibilité, le score de performance, le trafic total et le délai avant premier octet (TTFB), pour les combinaisons d’emplacements et d’ASN les plus importants que vous surveillez, en fonction du volume de trafic.
+ **Informations sur les principaux sites :** fournit le TTFB pour Amazon CloudFront, votre configuration actuelle et la configuration Amazon EC2 la plus performante, à intervalles d'une heure.
+ **Suggestions relatives au trafic global :** fournit le TTFB, sur la base d'une moyenne pondérée sur 30 jours, pour l'ensemble du trafic de chaque AWS site surveillé.
+ Informations **générales sur les suggestions relatives au trafic :** fournit le TTFB, sur la base d'une moyenne pondérée sur 30 jours, pour chaque meilleur emplacement, pour un emplacement proposé. AWS 
+ **Suggestions de routage :** fournit le temps moyen aller-retour (RTT) prévu entre un préfixe IP et un AWS emplacement pour un résolveur DNS. Le RTT est calculé à intervalles d’une heure, sur une période d’une heure.

Vous pouvez filtrer davantage les données en utilisant des critères spécifiques. Avec la plupart des types de requêtes, à l’exception des suggestions de routage, vous pouvez filtrer en spécifiant un ou plusieurs des critères suivants :
+ **AWS emplacement :** Pour AWS l'emplacement, vous pouvez spécifier CloudFront ou un Région AWS, tel que`us-east-2`.
+ **ASN :** indiquez le numéro de système autonome (ASN) d’un résolveur DNS (généralement, un FSI), par exemple, 4225.
+ **Emplacement du client :** pour l'emplacement, spécifiez une ville, une métropole, un département ou un pays.
+ ** AWS Emplacement proposé :** Spécifiez une zone Région AWS, telle que`us-east-2`, ou une zone AWS locale. Vous pouvez utiliser ce filtre avec le type de requête détails des suggestions de trafic global.
+ **Geo :** spécifiez `geo` pour certaines requêtes. Cela est obligatoire pour les requêtes qui utilisent le type de requête `Top locations`, mais n'est pas autorisé pour les autres types de requête. Pour savoir quand spécifier `geo` pour les paramètres du filtre, veuillez consulter la section des [exemples de requêtes](#IMQueryInterfaceExamples).

Pour le type de requête suggestions de routage, vous pouvez filtrer davantage les données en spécifiant un ou plusieurs des critères suivants :
+ ** AWS Emplacement actuel :** Spécifiez un Région AWS, tel que`us-east-2`.
+ ** AWS Emplacement proposé :** Spécifiez une zone Région AWS, telle que`us-east-2`, ou une zone AWS locale.
+ **Préfixe IPv4 :** indiquez un préfixe IPv4 au format standard, comme `192.0.2.0/24`.
+ **ARN du moniteur :** indiquez l’ARN d’un moniteur spécifique.
+ **IP du résolveur DNS :** indiquez l’adresse IP d’un résolveur DNS.
+ **FSI du résolveur DNS :** indiquez le nom d’un résolveur DNS (généralement un FSI), par exemple `Cloudflare`.
+ **ASN du résolveur DNS :** indiquez le numéro de système autonome (ASN) d’un résolveur DNS, par exemple 4225.

Les opérateurs que vous pouvez utiliser pour filtrer vos données sont `EQUALS` et `NOT_EQUALS`. Pour plus de détails sur les paramètres de filtrage, consultez le fonctionnement de l'[FilterParameter](https://docs.aws.amazon.com/internet-monitor/latest/api/API_FilterParameter.html)API.

Pour obtenir des détails sur les opérations de l’interface de requête, consultez les opérations API suivantes dans le Guide de référence de l’API du Moniteur Internet :
+ Pour créer et exécuter une requête, consultez le fonctionnement de l'[StartQuery](https://docs.aws.amazon.com/internet-monitor/latest/api/API_StartQuery.html)API. 
+ Pour arrêter une requête, consultez le fonctionnement de [StopQuery](https://docs.aws.amazon.com/internet-monitor/latest/api/API_StopQuery.html)l'API. 
+ Pour renvoyer des données pour une requête que vous avez créée, consultez le fonctionnement de l'[GetQueryResults](https://docs.aws.amazon.com/internet-monitor/latest/api/API_GetQueryResults.html)API. 
+ Pour récupérer le statut d'une requête, consultez le fonctionnement de l'[GetQueryStatus](https://docs.aws.amazon.com/internet-monitor/latest/api/API_GetQueryStatus.html)API. 

## Exemples de requêtes
<a name="CloudWatch-IM-view-cw-tools-cwim-query-example-queries"></a>

Pour créer une requête que vous pouvez utiliser pour récupérer un ensemble de données filtré à partir du fichier journal de votre moniteur, vous utilisez l'opération [StartQuery](https://docs.aws.amazon.com/internet-monitor/latest/api/API_StartQuery.html)API. Vous spécifiez un type de requête et des paramètres de filtre pour la requête. Ensuite, lorsque vous utilisez l'opération d'API de l'interface de requête du Moniteur Internet pour obtenir les résultats d'une requête à l'aide de la requête, elle récupère le sous-ensemble de données avec lequel vous souhaitez travailler. 

Pour illustrer le fonctionnement des types de requêtes et des paramètres de filtre, examinons quelques exemples.

**Exemple 1**

Supposons que vous souhaitiez récupérer toutes les données du fichier journal de votre moniteur pour un pays spécifique, à l'exception d'une ville. L'exemple suivant montre les paramètres de filtre pour une requête que vous pourriez créer avec l'opération `StartQuery` correspondant à ce scénario.

```
{
   MonitorName: "TestMonitor"
   StartTime: "2023-07-12T20:00:00Z"
   EndTime: "2023-07-12T21:00:00Z"
   QueryType: "MEASUREMENTS"
   FilterParameters: [
      {
       Field: "country",
       Operator: "EQUALS",
       Values: ["Germany"]
      },
      {
       Field: "city",
       Operator: "NOT_EQUALS",
       Values: ["Berlin"]
      },
    ]
}
```

**Exemple 2**

Autre exemple, supposons que vous souhaitiez afficher les emplacements les plus importants par zone métropolitaine. Vous pouvez utiliser l'exemple de requête suivant pour ce scénario.

```
{
   MonitorName: "TestMonitor"
   StartTime: "2023-07-12T20:00:00Z"
   EndTime: "2023-07-12T21:00:00Z"
   QueryType: "TOP_LOCATIONS"
   FilterParameters: [
      {
       Field: "geo",
       Operator: "EQUALS",
       Values: ["metro"]
      },
    ]
}
```

**Exemple 3**

Supposons maintenant que vous souhaitiez connaître les meilleures combinaisons de réseaux urbains de la région métropolitaine de Los Angeles. Pour ce faire, spécifiez `geo=city`, puis définissez `metro` à Los Angeles. Désormais, la requête renvoie les principaux réseaux urbains de la région métropolitaine de Los Angeles au lieu des principaux réseaux métropolitains leur ensemble.

Voici l'exemple de requête que vous pourriez utiliser :

```
{
   MonitorName: "TestMonitor"
   StartTime: "2023-07-12T20:00:00Z"
   EndTime: "2023-07-12T21:00:00Z"
   QueryType: "TOP_LOCATIONS"
   FilterParameters: [
      {
       Field: "geo",
       Operator: "EQUALS",
       Values: ["city"]
      },
      {
       Field: "metro",
       Operator: "EQUALS",
       Values: ["Los Angeles"]
      }
    ]
}
```

**Exemple 4**

Supposons ensuite que vous souhaitiez récupérer des données TTFB pour une subdivision spécifique (par exemple, un état) U.S.

Voici un exemple de requête pour ce scénario :

```
{
   MonitorName: "TestMonitor"
   StartTime: "2023-07-12T20:00:00Z"
   EndTime: "2023-07-12T21:00:00Z"
   QueryType: "TOP_LOCATION_DETAILS"
   FilterParameters: [
      {
       Field: "subdivision",
       Operator: "EQUALS",
       Values: ["California"]
      },
    ]
}
```

**Exemple 5**

Maintenant, disons que vous voulez récupérer les données TTFB pour chaque emplacement où votre application a un trafic client.

Voici un exemple de requête pour ce scénario :

```
{
   MonitorName: "TestMonitor"
   StartTime: "2023-07-12T20:00:00Z"
   EndTime: "2023-07-12T21:00:00Z"
   QueryType: "OVERALL_TRAFFIC_SUGGESTIONS"
   FilterParameters: []
}

Results:
[us-east-1, 40, us-west-2, 30],
[us-east-1, 40, us-west-1, 35],
[us-east-1, 40, us-east-1, 44],
[us-east-1, 40, CloudFront, 22],
...
[us-east-2, 44, us-west-2, 30],
[us-east-2, 44, us-west-1, 35],
...
```

**Exemple 6**

Supposons que vous souhaitiez récupérer des données TTFB pour une nouvelle donnée spécifique. Région AWS

Voici un exemple de requête pour ce scénario :

```
{
   MonitorName: "TestMonitor"
   StartTime: "2023-07-12T20:00:00Z"
   EndTime: "2023-07-12T21:00:00Z"
   QueryType: "OVERALL_TRAFFIC_SUGGESTIONS_DETAILS"
   FilterParameters: [
      {
       Field: "proposed_aws_location",
       Operator: "EQUALS",
       Values: ["us-west-2"]
      },
   ]
}

Results:
[San Jose, San Jose-Santa Clara, California, United States, 7922, us-east-1, 40, 350, 350, us-west-2, 45]
[San Jose, San Jose-Santa Clara, California, United States, 7922, us-west-1, 35, 450, 450, us-west-2, 45]
```

**Exemple 7**

Un dernier exemple consiste à récupérer des données pour des résolveurs DNS spécifiques.

Voici un exemple de requête pour ce scénario :

```
{
   MonitorName: "TestMonitor"
   StartTime: "2023-07-12T20:00:00Z"
   EndTime: "2023-07-12T21:00:00Z"
   QueryType: "ROUTING_SUGGESTIONS"
   FilterParameters: [
      {
       Field: "proposed_aws_location",
       Operator: "EQUALS",
       Values: ["us-east-1"]
      },
   ]
}

Results:
[162.158.180.245, 13335, Cloudflare, [5.4.0.0/14], us-east-2, 200.0, us-east-1, 160.0]
[162.158.180.243, 13313, Cloudflare, [5.4.0.0/10], us-east-2, 150.0, us-east-1, 125.0]
```

## Obtention des résultats de requêtes
<a name="CloudWatch-IM-view-cw-tools-cwim-query-get-data"></a>

Après avoir défini une requête, vous pouvez renvoyer un ensemble de résultats avec la requête en exécutant une autre opération d'API Internet Monitor, [GetQueryResults](https://docs.aws.amazon.com/internet-monitor/latest/api/API_GetQueryResults.html). Lorsque vous exécutez `GetQueryResults`, vous spécifiez l'ID de requête pour la requête que vous avez définie, ainsi que le nom de votre moniteur. `GetQueryResults` extrait les données de la requête spécifiée dans un jeu de résultats.

Lorsque vous exécutez une requête, assurez-vous que l'exécution de la requête est terminée avant d'utiliser `GetQueryResults` pour consulter les résultats. Vous pouvez déterminer si la requête est terminée à l'aide de l'opération [GetQueryStatus](https://docs.aws.amazon.com/internet-monitor/latest/api/API_GetQueryStatus.html)API. Lorsque le `Status` de la requête est `SUCCEEDED`, vous pouvez procéder à la consultation des résultats.

Lorsque votre requête est terminée, vous pouvez suivre ces conseils pour consulter les résultats. Chaque type de requête que vous utilisez pour créer une requête inclut un ensemble unique de champs de données provenant des fichiers journaux, comme décrit dans la liste suivante : 

**Mesures**  
Le type de requête `measurements` renvoie les données suivantes :  
`timestamp, availability, performance, bytes_in, bytes_out, rtt_p50, rtt_p90, rtt_p95`

**Meilleurs emplacements**  
Le type de requête `top locations` regroupe les données par emplacement et fournit la moyenne des données sur la période. Les données qu'il renvoie comprennent les éléments suivants :  
`aws_location, city, metro, subdivision, country, asn, availability, performance, bytes_in, bytes_out, current_fbl, best_ec2, best_ec2_region, best_cf_fbl`  
Notez que `city`, `metro` et `subdivision` ne sont renvoyés que si vous choisissez ce type d'emplacement pour le champ `geo`. Les champs d'emplacement suivants sont renvoyés, en fonction du type d'emplacement que vous spécifiez `geo` :  

```
city = city, metro, subdivision, country
metro = metro, subdivision, country
subdivision = subdivision, country
country = country
```

**Détails sur les meilleurs emplacements**  
Le type de requête `top locations details` renvoie des données groupées heure par heure. La requête renvoie les données suivantes :  
`timestamp, current_service, current_fbl, best_ec2_fbl, best_ec2_region, best_cf_fbl`

**Suggestions de trafic global**  
Le type de requête `overall traffic suggestions` renvoie des données groupées heure par heure. La requête renvoie les données suivantes :  
`current_aws_location, proposed_aws_location, average_fbl, traffic, optimized_traffic_excluding_cf, optimized_traffic_including_cf`

**Détails des suggestions de trafic global**  
Le type de requête `overall traffic suggestions details` renvoie des données groupées heure par heure. La requête renvoie les données suivantes :  
`aws_location, city, metro, subdivision, country, asn, traffic, current_aws_location, fbl_data`

**Suggestions de routage**  
Le type de requête `routing suggestions` renvoie des données groupées heure par heure. La requête renvoie les données suivantes :  
`dns_resolver_ip, dns_resolver_asn, dns_resolver_isp, ipv4_prefixes, current_aws_location, current_latency, proposed_aws_location, proposed_latency`

Lorsque vous exécutez l'opération d'API `GetQueryResults`, le Moniteur Internet renvoie ce qui suit dans la réponse :
+ Un *tableau de chaînes de données* contenant les résultats renvoyés par la requête. Les informations sont renvoyées dans des tableaux alignés sur le champ `Fields`, également renvoyés par l'appel d'API. À l'aide du champ `Fields`, vous pouvez analyser les informations du référentiel `Data`, puis les filtrer ou les trier en fonction de vos besoins.
+ Un *tableau de champs* répertoriant les champs pour lesquels la requête a renvoyé des données (dans la réponse au champ `Data`). Chaque élément du tableau est une paire nom-type de données, telle que `availability_score`-`float`. 

## Résolution des problèmes
<a name="CloudWatch-IM-view-cw-tools-cwim-query-troubleshooting"></a>

Si des erreurs sont renvoyées lorsque vous utilisez les opérations API de l’interface de requête, vérifiez que vous disposez des autorisations requises pour utiliser le Moniteur Internet. Plus précisément, assurez-vous que vous disposez des autorisations suivantes :

```
internetmonitor:StartQuery
internetmonitor:GetQueryStatus
internetmonitor:GetQueryResults
internetmonitor:StopQuery
```

Ces autorisations sont incluses dans la Gestion des identités et des accès AWS politique recommandée pour utiliser le tableau de bord Internet Monitor dans la console. Pour de plus amples informations, veuillez consulter [AWS politiques gérées pour Internet Monitor](CloudWatch-IM-permissions.md).