Pourquoi mon appel d'API GetMetricStatistics de CloudWatch ne renvoie aucun point de données ?

Lecture de 4 minute(s)
0

Mon appel d'API « GetMetricStatistics » d'Amazon CloudWatch ne renvoie aucun point de données. Cependant, les points de données sont disponibles sur la console CloudWatch.

Solution

Remarque : si vous recevez des erreurs lors de l'exécution de commandes de l'Interface de la ligne de commande AWS (AWS CLI), assurez-vous d'utiliser la version la plus récente de l'AWS CLI (français non garanti).

CloudWatch étant un service régional, assurez-vous que l'appel d'API utilise la région AWS appropriée. CloudWatch émet l'appel d'API GetMetricStatistics avec plusieurs arguments, ceux-ci doivent correspondre aux propriétés de la métrique. Ces arguments sont sensibles à la casse. Assurez-vous donc que les noms et les casses correspondent dans la configuration de la console CloudWatch. Les erreurs sont souvent causées par des arguments incorrects.

Dimensions

Si la métrique est créée avec plusieurs dimensions, vous ne pouvez récupérer les points de données correspondants que si vous spécifiez toutes les dimensions configurées. Par exemple, supposons que vous publiiez une métrique nommée ServerStats dans l'espace de noms DataCenterMetric avec les propriétés suivantes :

Dimensions: Server=Prod, Domain=Frankfurt, Unit: Count, Timestamp: 2016-10-31T12:30:00Z, Value: 105

Afin de récupérer des points de données pour cette métrique, spécifiez les dimensions suivantes :

Server=Prod,Domain=Frankfurt

Cependant, si vous ne spécifiez qu'une seule des deux dimensions, vous ne pouvez pas récupérer les points de données. Consultez l'exemple suivant :

Server=Prod

Avec l'AWS CLI, le format pour la spécification des dimensions dans la commande get-metric-statistics est différent de celui de la commande put-metric-data. Veillez à utiliser un format similaire au suivant :

"Name"=string, "Value"=string

Remarque : dans ce cas, un format Name=Value échoue.

Consultez l'exemple suivant d'appel get-metric-statistics :

aws cloudwatch get-metric-statistics --metric-name "MyMetric" --start-time 2018-04-08T23:18:00Z --end-time 2018-04-09T23:18:00Z --period 3600 --namespace "MyNamespace" --statistics Maximum --dimensions Name=Server,Value=Prod

Consultez l'exemple suivant d'appel put-metric-data :

aws cloudwatch put-metric-data --namespace "MyNamespace" --metric-name "MyMetric" --dimensions Server=Prod --value 10

Période

Si la métrique n'est pas transmise pour la valeur de période spécifiée, aucun point de données n'est renvoyé.

Par exemple, si vous activez la surveillance de base pour une instance, Amazon Elastic Compute Cloud (Amazon EC2) transmet des points de données toutes les cinq minutes. Par exemple, supposons qu'Amazon EC2 transmette les points de données aux horodatages 12 h 00, 12 h 05, 12 h 10, etc. Vos heures de début et de fin sont respectivement 12 h 01 et 12 h 04. Vous essayez ensuite de récupérer les points de données sur une période de 60 secondes. Dans ce cas, vous ne voyez aucun point de données. Il est recommandé que les heures de début et de fin s'étendent au-delà de la granularité minimale offerte par la métrique. (Pour ce cas d'utilisation, la granularité est égale à cinq minutes.) Vous pouvez également utiliser une période supérieure ou égale à la granularité minimale offerte par la métrique.

Statistiques

Pour récupérer les statistiques de centiles d'une métrique, utilisez la commande ExtendedStatistic.

CloudWatch utilise des points de données brutes pour calculer les centiles. Lorsque vous publiez des données à l'aide d'un ensemble de statistiques, vous pouvez récupérer des statistiques de centiles pour ces données uniquement si l'une des conditions suivantes est remplie :

  • La valeur SampleCount de l'ensemble de statistiques est égale à 1.
  • Les valeurs minimum et maximum de l'ensemble de statistiques sont égales.

Unité

  • Si l'unité spécifiée est différente de celle configurée pour la métrique, aucun point de données n'est renvoyé.
  • Si vous ne spécifiez pas d'argument d'unité, les points de données de l'ensemble des unités sont renvoyés.

Heure de début et heure de fin

  • Formatez les arguments d'heure de début et d'heure de fin tel que spécifié dans la documentation GetMetricStatistics.
  • Si aucun point de données n'est transmis pour la métrique entre l'heure de début et celle de fin, aucun point de données n'est renvoyé.

Remarque : les points de données avec des horodatages datant de 24 heures ou plus peuvent mettre plus de 48 heures avant d'être disponibles pour get-metric-statistics. Pour plus d'informations, veuillez consulter la section put-metric-data (français non garanti).


Informations connexes

Services AWS publiant des métriques CloudWatch

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a un an