

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.

# Exploration de vos données à l'aide CloudWatch d'outils et de l'interface de requête Internet Monitor
<a name="CloudWatch-IM-view-cw-tools"></a>

Outre la visualisation des performances et de la disponibilité de votre application à l’aide du tableau de bord du Moniteur Internet, vous pouvez utiliser plusieurs méthodes pour examiner plus en détail les données générées par le Moniteur Internet. Ces méthodes incluent l'utilisation CloudWatch d'outils utilisant les données Internet Monitor stockées dans des fichiers CloudWatch journaux et l'interface de requête Internet Monitor. Les outils que vous pouvez utiliser incluent CloudWatch Logs Insights, CloudWatch Metrics, CloudWatch Contributor Insights et Amazon Athena. Vous pouvez utiliser certains ou tous ces outils, ainsi que le tableau de bord, pour explorer les données du Moniteur Internet, en fonction de vos besoins. 

Internet Monitor regroupe les CloudWatch mesures relatives au trafic vers votre application et vers chacune d'entre elles Région AWS, et inclut des données telles que l'impact total sur le trafic, la disponibilité et le temps d'aller-retour. Ces données sont publiées dans CloudWatch Logs et peuvent également être utilisées avec l'interface de requête Internet Monitor. Les détails concernant la granularité géographique et d'autres aspects de l'information disponible à explorer varient pour chacun d'entre eux.

Moniteur Internet diffuse les données de votre moniteur à intervalles de 5 minutes, puis les met à disposition de plusieurs façons. Le tableau suivant répertorie les scénarios d'accès aux données du Moniteur Internet et décrit les caractéristiques des données collectées pour chacun d'entre eux.


****  

| Fonctionnalité | CloudWatch Journaux | Exporter vers S3 | Interface de requête | CloudWatch tableau de bord | 
| --- | --- | --- | --- | --- | 
| Activée par défaut. | Oui | Non | Oui | Oui | 
| Nombre de réseaux urbains pour lesquels les données sont collectées | Top 500 (voir note ci-dessous) | Tous | Tous | Tous | 
| Conservation des données | Contrôlé par l'utilisateur | Contrôlé par l'utilisateur | 30 jours | 30 jours | 
| Granularités géographiques pour lesquelles les données sont collectées | Tout (réseau urbain, réseau métropolitain, réseau départemental, réseau national) | Réseau urbain | Tout (réseau urbain, réseau métropolitain, réseau départemental, réseau national) | Tout (réseau urbain, réseau métropolitain, réseau départemental, réseau national) | 
| Comment interroger et filtrer les données | [Utilisez CloudWatch Logs Insights pour explorer les mesures d'Internet Monitor](CloudWatch-IM-view-cw-tools-logs-insights.md) | [Utiliser Amazon Athena pour interroger les mesures Internet dans les fichiers journaux Amazon S3](CloudWatch-IM-view-cw-tools.S3_athena.md) | [Utiliser l’interface de requête du Moniteur Internet](CloudWatch-IM-view-cw-tools-cwim-query.md) | [Surveillance et optimisation avec le tableau de bord du Moniteur Internet](CloudWatch-IM-monitor-and-optimize.md) | 

Remarque : les 500 meilleures mesures sont capturées pour les réseaux urbains ; les 250 meilleures pour les réseaux métropolitains, les 100 meilleures pour les réseaux départementaux et les 50 meilleures pour les réseaux nationaux.

Ce chapitre décrit comment interroger et explorer vos données à l'aide d' CloudWatch outils ou de l'interface de requête d'Internet Monitor, ainsi que des exemples pour chaque méthode. 

**Topics**
+ [CloudWatch Informations sur les journaux](CloudWatch-IM-view-cw-tools-logs-insights.md)
+ [CloudWatch Informations sur les contributeurs](CloudWatch-IM-view-cw-tools-contributor-insights.md)
+ [CloudWatch Métriques](CloudWatch-IM-view-cw-tools-metrics-dashboard.md)
+ [Athena et les journaux S3](CloudWatch-IM-view-cw-tools.S3_athena.md)
+ [Interface de requête du Moniteur Internet](CloudWatch-IM-view-cw-tools-cwim-query.md)

# Utilisez CloudWatch Logs Insights pour explorer les mesures d'Internet Monitor
<a name="CloudWatch-IM-view-cw-tools-logs-insights"></a>

Vous pouvez utiliser CloudWatch les requêtes Logs Insights pour filtrer un sous-ensemble de journaux pour une ville ou une zone géographique spécifique (emplacement du client), l'ASN (ISP) du client et AWS l'emplacement source. Internet Monitor publie des mesures détaillées de la disponibilité et du temps d'aller-retour dans Logs, que vous pouvez explorer à l'aide CloudWatch de CloudWatch Logs Insights. 

Pour en savoir plus sur la précision de l'emplacement des clients dans Moniteur Internet, consultez [Geolocation information and accuracy in Internet Monitor](CloudWatch-IM-inside-internet-monitor.md#IMGeolocationSourceAccuracy).

Les exemples présentés dans cette section peuvent vous aider à créer des requêtes CloudWatch Logs Insights pour en savoir plus sur les mesures et métriques du trafic de vos applications. Si vous utilisez ces exemples dans CloudWatch Logs Insights, remplacez-les *monitorName* par le nom de votre propre moniteur.

**Suggestions d'optimisation du trafic**

Dans l'onglet **Informations sur le trafic** de Moniteur Internet, vous pouvez consulter les suggestions d'optimisation du trafic, filtrées par emplacement. Pour consulter les mêmes informations que celles affichées dans la section **Suggestions d'optimisation du trafic** de cet onglet, mais sans le filtre de granularité de localisation, vous pouvez utiliser la requête CloudWatch Logs Insights suivante. 

1. Dans le AWS Management Console, accédez à CloudWatch Logs Insights.

1. Pour **Log Group** (Groupe de journaux), sélectionnez `/aws/internet-monitor/monitorName/byCity` et `/aws/internet-monitor/monitorName/byCountry`, puis spécifiez une plage de temps. 

1. Ajoutez la requête suivante, puis exécutez-la. 

```
fields @timestamp, 
clientLocation.city as @city, clientLocation.subdivision as @subdivision, clientLocation.country as @country,
`trafficInsights.timeToFirstByte.currentExperience.serviceName` as @serviceNameField,
concat(@serviceNameField, ` (`, `serviceLocation`, `)`) as @currentExperienceField,
concat(`trafficInsights.timeToFirstByte.ec2.serviceName`, ` (`, `trafficInsights.timeToFirstByte.ec2.serviceLocation`, `)`) as @ec2Field,
`trafficInsights.timeToFirstByte.cloudfront.serviceName` as @cloudfrontField,
concat(`clientLocation.networkName`, ` (AS`, `clientLocation.asn`, `)`) as @networkName
| filter ispresent(`trafficInsights.timeToFirstByte.currentExperience.value`)
| stats avg(`trafficInsights.timeToFirstByte.currentExperience.value`) as @averageTTFB,
avg(`trafficInsights.timeToFirstByte.ec2.value`) as @ec2TTFB,
avg(`trafficInsights.timeToFirstByte.cloudfront.value`) as @cloudfrontTTFB,
sum(`bytesIn` + `bytesOut`) as @totalBytes,
latest(@ec2Field) as @ec2,
latest(@currentExperienceField) as @currentExperience,
latest(@cloudfrontField) as @cloudfront,
count(*) by @networkName, @city, @subdivision, @country
| display @city, @subdivision, @country, @networkName, @totalBytes, @currentExperience, @averageTTFB, @ec2, @ec2TTFB, @cloudfront, @cloudfrontTTFB
| sort @totalBytes desc
```

**Afficher la disponibilité d'Internet et le RTT (p50, p90 et p95)**

Pour consulter la disponibilité d'Internet et le temps d'aller-retour (p50, p90 et p95) du trafic, vous pouvez utiliser la requête Logs Insights suivante. CloudWatch 

**Zone géographique de l'utilisateur final : ** Chicago, IL, États-Unis

**Réseau d'utilisateurs finaux (ASN) :** AS7018 

**AWS Emplacement du service :** Région de l'Est des États-Unis (Virginie du Nord)

Pour afficher les journaux, procédez comme suit :

1. Dans le AWS Management Console, accédez à CloudWatch Logs Insights.

1. Pour **Log Group** (Groupe de journaux), sélectionnez `/aws/internet-monitor/monitorName/byCity` et `/aws/internet-monitor/monitorName/byCountry`, puis spécifiez une plage de temps. 

1. Ajoutez la requête suivante, puis exécutez-la. 

La requête renvoie toutes les données de performance pour les utilisateurs se connectant depuis Chicago, AS7018 dans l'Illinois, vers la région USA Est (Virginie du Nord) au cours de la période sélectionnée.

```
fields @timestamp, 
internetHealth.availability.experienceScore as availabilityExperienceScore, 
internetHealth.availability.percentageOfTotalTrafficImpacted as percentageOfTotalTrafficImpacted,
internetHealth.performance.experienceScore as performanceExperienceScore,
internetHealth.performance.roundTripTime.p50 as roundTripTimep50, 
internetHealth.performance.roundTripTime.p90 as roundTripTimep90, 
internetHealth.performance.roundTripTime.p95 as roundTripTimep95
 | filter clientLocation.country == `United States` 
 and clientLocation.city == `Chicago` 
 and serviceLocation == `us-east-1` 
 and clientLocation.asn == 7018
```

Pour plus d'informations, consultez la section [Analyse des données des CloudWatch journaux avec Logs Insights](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AnalyzingLogData.html).

# Utilisez Contributor Insights pour identifier les meilleurs sites et ISPs
<a name="CloudWatch-IM-view-cw-tools-contributor-insights"></a>

CloudWatch Contributor Insights peut vous aider à identifier les principaux sites clients et ASNs (généralement, les fournisseurs de services Internet ou ISPs) les meilleurs pour votre AWS application. Utilisez l’exemple de règles Contributor Insights suivant pour commencer avec des règles utiles avec Moniteur Internet. Pour de plus amples informations, veuillez consulter [Créez une règle Contributor Insights dans CloudWatch](ContributorInsights-CreateRule.md).

Pour en savoir plus sur la précision de l'emplacement des clients dans Moniteur Internet, consultez [Geolocation information and accuracy in Internet Monitor](CloudWatch-IM-inside-internet-monitor.md#IMGeolocationSourceAccuracy).

**Note**  
Moniteur Internet stocke les données de mesures Internet toutes les cinq minutes, donc après avoir configuré une règle Contributor Insights, vous devez ajuster la période à cinq minutes pour voir un graphique.

**Afficher les principaux sites ASNs concernés par un impact sur la disponibilité**

Pour consulter les principaux sites clients ASNs concernés par une baisse de disponibilité, vous pouvez utiliser la règle Contributor Insights suivante dans l'éditeur de syntaxe. *monitor-name*Remplacez-le par le nom de votre propre moniteur.

```
{
    "Schema": {
        "Name": "CloudWatchLogRule",
        "Version": 1
    },
    "AggregateOn": "Sum",
    "Contribution": {
        "Filters": [
            {
                "Match": "$.clientLocation.city",
                "IsPresent": true
            }
        ],
        "Keys": [
            "$.clientLocation.city",
            "$.clientLocation.networkName"
        ],
        "ValueOf": "$.awsInternetHealth.availability.percentageOfTotalTrafficImpacted"
    },
    "LogFormat": "JSON",
    "LogGroupNames": [
        "/aws/internet-monitor/monitor-name/byCity"
    ]
}
```

**Afficher les principaux sites clients ASNs concernés par un impact de latence**

Pour afficher les principaux sites clients ASNs concernés par une augmentation du temps d'aller-retour (latence), vous pouvez utiliser la règle Contributor Insights suivante dans l'éditeur de syntaxe. *monitor-name*Remplacez-le par le nom de votre propre moniteur.

```
{
    "Schema": {
        "Name": "CloudWatchLogRule",
        "Version": 1
    },
    "AggregateOn": "Sum",
    "Contribution": {
        "Filters": [            {
                "Match": "$.clientLocation.city",
                "IsPresent": true
            }
        ],
        "Keys": [
            "$.clientLocation.city",
            "$.clientLocation.networkName"
        ],
        "ValueOf": "$.awsInternetHealth.performance.percentageOfTotalTrafficImpacted"
    },
    "LogFormat": "JSON",
    "LogGroupNames": [
        "/aws/internet-monitor/monitor-name/byCity"
    ]
}
```

**Afficher les principaux sites clients et les sites ASNs concernés par le pourcentage total de trafic**

Pour afficher les principaux sites clients et les sites ASNs concernés par le pourcentage total de trafic, vous pouvez utiliser la règle Contributor Insights suivante dans l'éditeur de syntaxe. *monitor-name*Remplacez-le par le nom de votre propre moniteur.

```
{
    "Schema": {
        "Name": "CloudWatchLogRule",
        "Version": 1
    },
    "AggregateOn": "Sum",
    "Contribution": {
        "Filters": [
            {
                "Match": "$.clientLocation.city",
                "IsPresent": true
            }
        ],
        "Keys": [
            "$.clientLocation.city",
            "$.clientLocation.networkName"
        ],
        "ValueOf": "$.percentageOfTotalTraffic"
    },
    "LogFormat": "JSON",
    "LogGroupNames": [
        "/aws/internet-monitor/monitor-name/byCity"
    ]
}
```

# Afficher les métriques d'Internet Monitor ou définir des alarmes dans CloudWatch Metrics
<a name="CloudWatch-IM-view-cw-tools-metrics-dashboard"></a>

Vous pouvez afficher ou définir des alarmes sur les métriques d'Internet Monitor en utilisant les CloudWatch alarmes et CloudWatch les métriques de la CloudWatch console. Moniteur Internet diffuse des métriques sur votre compte, notamment des métriques de performance, de disponibilité, de temps d’aller-retour et de débit (octets par seconde). Pour trouver toutes les métriques de votre moniteur, dans le tableau de bord CloudWatch des métriques, consultez l'espace de noms `AWS/InternetMonitor` personnalisé. 

Pour consulter des exemples d’utilisation de plusieurs de ces métriques afin de déterminer les valeurs à choisir pour la limite maximale du réseau urbain de votre moniteur, consultez [Choix d’une valeur maximale pour le réseau urbain](IMCityNetworksMaximum.md). Pour en savoir plus sur la définition des alarmes pour Moniteur Internet, consultez [Créer des alarmes avec le Moniteur Internet](CloudWatch-IM-create-alarm.md).

Les métriques sont agrégées sur l'ensemble du trafic Internet vers vos équilibreurs de charge réseau VPCs, vos CloudFront distributions ou vos WorkSpaces annuaires du moniteur, ainsi que sur l'ensemble du trafic vers chaque Région AWS emplacement périphérique d'Internet surveillé. Les régions sont définies par l'emplacement du service, qui peut être soit tous les emplacements, soit une région spécifique, telle que `us-east-1`. 

Remarque : *les réseaux urbains* sont des paires d'emplacements clients utilisés par ASNs les clients (généralement des fournisseurs de services Internet ou ISPs).

Moniteur Internet fournit les métriques suivantes.

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/AmazonCloudWatch/latest/monitoring/CloudWatch-IM-view-cw-tools-metrics-dashboard.html)

Pour de plus amples informations, veuillez consulter [Métriques sur Amazon CloudWatch](working_with_metrics.md).

# Utiliser Amazon Athena pour interroger les mesures Internet dans les fichiers journaux Amazon S3
<a name="CloudWatch-IM-view-cw-tools.S3_athena"></a>

Vous pouvez utiliser Amazon Athena pour interroger et afficher les mesures internet que Moniteur Internet publie dans un compartiment Amazon S3. Internet Monitor propose une option permettant de publier les mesures Internet de votre application dans un compartiment S3 pour le trafic Internet destiné aux réseaux urbains que vous surveillez (sites clients et ASNs, généralement, fournisseurs de services Internet ou). ISPs Que vous choisissiez ou non de publier les mesures sur S3, Internet Monitor publie automatiquement les mesures Internet dans CloudWatch Logs toutes les cinq minutes pour les 500 principaux réseaux urbains (en termes de volume de trafic) pour chaque moniteur. 

Ce chapitre explique comment créer une table dans Athena pour les mesures Internet situées dans un fichier journal S3, puis fournit des [exemples de requêtes](#CloudWatch-IM-view-cw-tools.S3_athena.athena-sample-queries) pour voir les mesures de différentes façons. Par exemple, vous pouvez rechercher les 10 réseaux urbains les plus affectés par un impact sur la latence. 

## Utiliser Amazon Athena pour créer une table des mesures Internet dans Moniteur Internet
<a name="CloudWatch-IM-view-cw-tools.S3_athena.athena-queries"></a>

Pour commencer à utiliser Athena avec les fichiers journaux S3 de Moniteur Internet, vous devez d'abord créer une table des mesures Internet.

Suivez les étapes de cette procédure pour créer une table dans Athena à partir des fichiers journaux S3. Vous pouvez ensuite exécuter des requêtes Athena sur la table, comme [ces exemples de requêtes de mesures Internet](#CloudWatch-IM-view-cw-tools.S3_athena.athena-sample-queries), pour obtenir des informations sur vos mesures.

**Pour créer une table Athéna**

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

1. Dans l'éditeur de requêtes Athena, saisissez une instruction de requête pour générer une table contenant les mesures Internet Moniteur Internet. Remplacez la valeur du paramètre LOCATION par l'emplacement du compartiment S3 dans lequel sont stockées les mesures Internet de Moniteur Internet. 

   ```
   CREATE EXTERNAL TABLE internet_measurements (
       version INT,
       timestamp INT,
       clientlocation STRING,
       servicelocation STRING,
       percentageoftotaltraffic DOUBLE,
       bytesin INT,
       bytesout INT,
       clientconnectioncount INT,
       internethealth STRING,
       trafficinsights STRING
   )
   PARTITIONED BY (year STRING, month STRING, day STRING)
   ROW FORMAT SERDE 'org.openx.data.jsonserde.JsonSerDe'
   LOCATION
   's3://amzn-s3-demo-bucket/bucket_prefix/AWSLogs/account_id/internetmonitor/AWS_Region/'
   TBLPROPERTIES ('skip.header.line.count' = '1');
   ```

1. Saisissez une instruction pour créer une partition afin de lire les données. Par exemple, la requête suivante crée une partition unique pour une date et un emplacement spécifiques :

   ```
   ALTER TABLE internet_measurements
   ADD PARTITION (year = 'YYYY', month = 'MM', day = 'dd')
   LOCATION
   's3://amzn-s3-demo-bucket/bucket_prefix/AWSLogs/account_id/internetmonitor/AWS_Region/YYYY/MM/DD';
   ```

1. Cliquez sur **Exécuter**.

**Exemples d'instructions Athéna pour les mesures Internet**

Voici un exemple d'instruction permettant de générer une table :

```
CREATE EXTERNAL TABLE internet_measurements (
    version INT,
    timestamp INT,
    clientlocation STRING,
    servicelocation STRING,
    percentageoftotaltraffic DOUBLE,
    bytesin INT,
    bytesout INT,
    clientconnectioncount INT,
    internethealth STRING,
    trafficinsights STRING
)
PARTITIONED BY (year STRING, month STRING, day STRING)
ROW FORMAT SERDE 'org.openx.data.jsonserde.JsonSerDe'
LOCATION 's3://internet-measurements/TestMonitor/AWSLogs/1111222233332/internetmonitor/us-east-2/'
TBLPROPERTIES ('skip.header.line.count' = '1');
```

Voici un exemple d'instruction permettant de créer une partition pour lire les données :

```
ALTER TABLE internet_measurements
ADD PARTITION (year = '2023', month = '04', day = '07')
LOCATION 's3://internet-measurements/TestMonitor/AWSLogs/1111222233332/internetmonitor/us-east-2/2023/04/07/'
```

## Exemples de requêtes Amazon Athena à utiliser avec les mesures Internet dans Moniteur Internet
<a name="CloudWatch-IM-view-cw-tools.S3_athena.athena-sample-queries"></a>

Cette section inclut des exemples de requêtes que vous pouvez utiliser avec Amazon Athena pour obtenir des informations sur les mesures Internet de votre application publiées sur Amazon S3.

**Recherchez les 10 sites clients les plus touchés (en pourcentage total du trafic) et ASNs**

Exécutez cette requête Athena pour obtenir les 10 réseaux urbains les plus touchés (en pourcentage total du trafic), c'est-à-dire les sites des clients et ASNs, généralement, les fournisseurs de services Internet. 

```
SELECT json_extract_scalar(clientLocation, '$.city') as city,
    json_extract_scalar(clientLocation, '$.networkname') as networkName,
    sum(percentageoftotaltraffic) as percentageoftotaltraffic
FROM internet_measurements
GROUP BY json_extract_scalar(clientLocation, '$.city'),
    json_extract_scalar(clientLocation, '$.networkname')
ORDER BY percentageoftotaltraffic desc
limit 10
```

**Renseignez-vous sur les 10 sites clients les plus concernés (selon leur disponibilité) et ASNs **

Exécutez cette requête Athena pour obtenir les 10 réseaux urbains les plus touchés (en pourcentage total du trafic), c'est-à-dire les sites des clients et ASNs, généralement, les fournisseurs de services Internet. 

```
SELECT json_extract_scalar(clientLocation, '$.city') as city,
    json_extract_scalar(clientLocation, '$.networkname') as networkName,
    sum(
        cast(
            json_extract_scalar(
                internetHealth,
                '$.availability.percentageoftotaltrafficimpacted'
            )
        as double ) 
    ) as percentageOfTotalTrafficImpacted
FROM internet_measurements
GROUP BY json_extract_scalar(clientLocation, '$.city'),
    json_extract_scalar(clientLocation, '$.networkname')
ORDER BY percentageOfTotalTrafficImpacted desc
limit 10
```

**Recherchez les 10 sites clients les plus touchés (en termes de latence) et ASNs **

Exécutez cette requête Athena pour obtenir les 10 réseaux urbains les plus touchés (en termes d'impact de latence), c'est-à-dire les sites des clients et ASNs, généralement, les fournisseurs de services Internet. 

```
SELECT json_extract_scalar(clientLocation, '$.city') as city,
    json_extract_scalar(clientLocation, '$.networkname') as networkName,
    sum(
        cast(
            json_extract_scalar(
                internetHealth,
                '$.performance.percentageoftotaltrafficimpacted'
            )
        as double ) 
    ) as percentageOfTotalTrafficImpacted
FROM internet_measurements
GROUP BY json_extract_scalar(clientLocation, '$.city'),
    json_extract_scalar(clientLocation, '$.networkname')
ORDER BY percentageOfTotalTrafficImpacted desc
limit 10
```

**Consultez les informations relatives au trafic sur les sites de vos clients et ASNs **

Exécutez cette requête Athena pour obtenir des informations sur le trafic, notamment le score de disponibilité, le score de performance et le délai d'utilisation du premier octet pour les réseaux de votre ville, c'est-à-dire les sites des clients et, généralement ASNs, les fournisseurs de services Internet.

```
SELECT json_extract_scalar(clientLocation, '$.city') as city,
    json_extract_scalar(clientLocation, '$.subdivision') as subdivision,
    json_extract_scalar(clientLocation, '$.country') as country,
    avg(cast(json_extract_scalar(internetHealth, '$.availability.experiencescore') as double)) as availabilityScore,
    avg(cast(json_extract_scalar(internetHealth, '$.performance.experiencescore') as double)) performanceScore,
    avg(cast(json_extract_scalar(trafficinsights, '$.timetofirstbyte.currentexperience.value') as double)) as averageTTFB,
    sum(bytesIn) as bytesIn,
    sum(bytesOut) as bytesOut,
    sum(bytesIn + bytesOut) as totalBytes
FROM internet_measurements
where json_extract_scalar(clientLocation, '$.city') != 'N/A'
GROUP BY 
json_extract_scalar(clientLocation, '$.city'),
    json_extract_scalar(clientLocation, '$.subdivision'),
    json_extract_scalar(clientLocation, '$.country')
ORDER BY totalBytes desc
limit 100
```

Pour plus d’informations sur l’utilisation d’Athena, consultez le [Guide de l’utilisateur Amazon Athena](https://docs.aws.amazon.com/athena/latest/ug/).

# 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 générales relatives au trafic :** 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.
+ **IPv4 préfixe :** Spécifiez un IPv4 préfixe au format standard, similaire à. `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**

Ensuite, disons que vous voulez récupérer les données TTFB pour une subdivision spécifique (par exemple, un état des États-Unis).

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).