Pourquoi mon appel d'API CloudWatch GetMetricStatistics ne renvoie pas de points de données ? 

Dernière mise à jour : 05/06/2018

Mon appel d'API Amazon CloudWatch « GetMetricStatistics » ne renvoie aucun point de données. Toutefois, les points de données sont disponibles sur la console CloudWatch. Comment résoudre ce problème ?

Résolution

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

CloudWatch étant un service régional, il est donc important de s'assurer que l'appel d'API utilise la région correcte. L'appel d'API GetMetricStatistics est effectué avec plusieurs arguments qui doivent correspondre aux propriétés de la métrique. Ces arguments sont sensibles à la casse. Vous devez donc vous assurer que les noms et les casses correspondent dans la configuration de la console CloudWatch. Dans la plupart des cas, les erreurs sont provoquées par des arguments incorrects.

Dimensions

Si la métrique a été créée avec plusieurs dimensions, ses points de données peuvent être récupérés uniquement en spécifiant toutes les dimensions configurées. Supposons que vous publiez la métrique 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

Vous pouvez récupérer les points de données de cette métrique en spécifiant les dimensions suivantes :

Server=Prod,Domain=Frankfurt

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

Server=Prod

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

"Name"=string, "Value"=string

Au lieu de ce format :

Name=Value

Exemple de l'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

Exemple de l'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 avez activé la surveillance basique pour une instance, Amazon EC2 transmet des points de données toutes les cinq minutes. Supposons qu'Amazon EC2 transmette les points de données aux horaires suivants : 12h00, 12h05, 12h10, etc. Si vos heures de début et de fin sont entre 12h01 et 12h04, et que vous essayez de récupérer ces points de données avec une période de 60 secondes, aucun point de données n'apparaît. 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 (5 minutes dans ce cas). Ou bien, utilisez 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. Si vous publiez des données avec un ensemble de statistiques, vous ne pouvez récupérer les statistiques de centiles de ces données uniquement que si une des conditions suivantes est vraie :

  • 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 envoyé pour la métrique entre l'heure de début et l'heure de fin, aucun point de données n'est renvoyé.

Remarque : les points de données avec des horaires datant d'au moins 24 heures peuvent prendre au moins 48 heures pour devenir disponibles pour get-metric-statistics. Pour plus d'informations, consultez put-metric-data.


Cet article vous a-t-il été utile ?


Besoin d'aide pour une question technique ou de facturation ?