Utiliser l'interface de requête Amazon CloudWatch Internet Monitor - Amazon CloudWatch

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 Amazon CloudWatch Internet Monitor

Pour mieux comprendre le trafic Internet de votre AWS application, vous pouvez utiliser l'interface de requête Amazon CloudWatch 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 Internet Monitor avec votre moniteur, notamment les scores de disponibilité et de performance, les octets transférés, les temps d'aller-retour et le délai 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 du 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 API opérations d'Internet Monitor avec 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.

Comment utiliser l'interface de requête

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.

  2. Vous spécifiez l'ID de requête avec le nom de votre moniteur lors de l'GetQueryResultsAPIopération de renvoi des données pour 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.

L'interface de requête fournit les trois types de requêtes 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, à des intervalles de 5 minutes.

  • Principaux emplacements : fournit le score de disponibilité, le score de performance, le trafic total et les informations sur le délai jusqu'au premier octet (TTFB), pour le principal emplacement et les ASN combinaisons que vous surveillez, par volume de trafic.

  • Informations sur les principaux sites : fournit TTFB à Amazon CloudFront, votre configuration actuelle et la EC2 configuration Amazon la plus performante, à intervalles d'une heure.

  • Suggestions relatives au trafic global : fournitTTFB, sur la base d'une moyenne pondérée sur 30 jours, l'ensemble du trafic dans chaque AWS site surveillé.

  • Informations générales sur les suggestions relatives au trafic : fournitTTFB, sur la base d'une moyenne pondérée sur 30 jours, pour chaque emplacement le plus prisé, pour un AWS emplacement proposé.

Avec chacun de ces types de requêtes, vous pouvez filtrer davantage les données 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 AWSus-east-2us-west-2, tel que,, etc.

  • ASN: Spécifiez unASN, qui est généralement un fournisseur de services Internet (ISP).

  • Emplacement du client : pour l'emplacement, spécifiez une ville, une métropole, un département ou un pays.

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

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 l'FilterParameterAPIopération.

Pour en savoir plus sur les opérations de l'interface de requête, consultez les API opérations suivantes dans le guide de API référence Amazon CloudWatch Internet Monitor :

  • Pour créer et exécuter une requête, consultez l'StartQueryAPIopération.

  • Pour arrêter une requête, consultez l'StopQueryAPIopération.

  • Pour renvoyer des données pour une requête que vous avez créée, consultez l'GetQueryResultsAPIopération.

  • Pour récupérer le statut d'une requête, consultez l'GetQueryStatusAPIopération.

Exemples de requêtes

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'StartQueryAPIopération. Vous spécifiez un type de requête et des paramètres de filtre pour la requête. Ensuite, lorsque vous utilisez l'interface de requête d'Internet API Monitor pour obtenir les résultats de la requête à l'aide de la requête, le sous-ensemble de données que vous souhaitez utiliser est récupéré.

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 TTFB des données pour une subdivision spécifique (par exemple, un État américain).

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

Supposons maintenant que vous souhaitiez récupérer TTFB des données pour chaque emplacement où votre application reçoit du 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

Enfin, supposons que vous souhaitiez récupérer TTFB des données pour un nouveau produit 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]

Obtention des résultats de requêtes

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 API opération Internet Monitor, GetQueryResults. 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 en utilisant l'GetQueryStatusAPIopération. 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

Lorsque vous exécutez l'GetQueryResultsAPIopération, Internet Monitor 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 Fields champ, également renvoyés par l'APIappel. À 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

Si des erreurs sont renvoyées lorsque vous utilisez les API opérations de l'interface de requête, vérifiez que vous disposez des autorisations requises pour utiliser Amazon CloudWatch Internet Monitor. 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 AWS Identity and Access Management politique recommandée pour utiliser le tableau de bord Internet Monitor dans la console. Pour de plus amples informations, veuillez consulter IAMautorisations pour Amazon CloudWatch Internet Monitor.