Publication des métriques personnalisées - 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.

Publication des métriques personnalisées

Vous pouvez publier vos propres métriques dans CloudWatch à l'aide de l'CLI AWS ou d'une API. Vous pouvez afficher les graphiques statistiques de vos métriques publiées à l'aide d'AWS Management Console.

CloudWatch stocke les données sur une métrique sous la forme d'une série de points de données. Chaque point de données comporte un horodatage associé. Vous pouvez même publier un ensemble regroupé de points de données appelé un ensemble de statistiques.

Métriques haute résolution

Chaque métrique appartient à l'une des catégories suivantes :

  • Résolution standard, avec des données dont la granularité est d'une minute

  • Haute résolution, avec des données dont la granularité est d'une seconde

Les métriques générées par les services AWS sont de résolution standard par défaut. Lorsque vous publiez une métrique personnalisée, vous pouvez la définir en tant que résolution standard ou haute résolution. Lorsque vous publiez une métrique haute résolution, CloudWatch la stocke avec une résolution d'1 seconde, et vous pouvez la lire et la récupérer sur une période d'1 seconde, de 5 secondes, de 10 secondes, de 30 secondes ou n'importe quel multiple de 60 secondes.

Les métriques haute résolution peuvent vous donner des informations immédiates sur l'activité de votre application sur une période inférieure à une minute. Gardez à l'esprit que chaque appel PutMetricData pour des métriques personnalisées est facturé, donc des appels PutMetricData plus fréquents sur une métrique haute résolution peut entraîner des frais plus élevés. Pour de plus amples informations sur la tarification CloudWatch, veuillez consulterTarification Amazon CloudWatch.

Si vous définissez une alarme sur une métrique haute résolution, vous pouvez spécifier une alarme haute résolution avec une période de 10 secondes ou de 30 secondes, ou vous pouvez définir une alarme régulière avec une période correspondant à n'importe quel multiple de 60 secondes. Les frais sont plus élevés pour les alarmes haute résolution dont la période est de 10 ou 30 secondes.

Utilisation des dimensions

Dans les métriques personnalisées, le paramètre --dimensions est courant. Une dimension explicite davantage la nature de la métrique et les données qu'elle stocke. Une métrique peut contenir jusqu'à dix dimensions, chaque dimension étant définie par une paire composée d'un nom et d'une valeur.

La manière de préciser une dimension varie selon les commandes que vous utilisez. Avec put-metric-data, vous précisez chaque dimension sous la forme MonNom=MaValeur, alors qu'avec get-metric-statistics ou put-metric-alarm vous adoptez le format Name=MonNom, Value=MaValeur. Par exemple, la commande suivante publie une métrique Buffers comptant deux dimensions nommées InstanceId et InstanceType.

aws cloudwatch put-metric-data --metric-name Buffers --namespace MyNameSpace --unit Bytes --value 231434333 --dimensions InstanceId=1-23456789,InstanceType=m1.small

Cette commande récupère des statistiques concernant cette même métrique. Vous devez utiliser des virgules pour séparer les parties Nom et Valeur d'une dimension, mais vous utilisez un espace entre les dimensions, s'il y en a plusieurs.

aws cloudwatch get-metric-statistics --metric-name Buffers --namespace MyNameSpace --dimensions Name=InstanceId,Value=1-23456789 Name=InstanceType,Value=m1.small --start-time 2016-10-15T04:00:00Z --end-time 2016-10-19T07:00:00Z --statistics Average --period 60

Si une métrique comprend plusieurs dimensions, vous devez préciser une valeur pour chaque dimension définie lorsque vous utilisez la commande get-metric-statistics. Par exemple, la métrique Amazon S3BucketSizeBytesInclut les dimensionsBucketNameandStorageType, vous devez donc spécifier les deux cotes avecget-metric-statistics.

aws cloudwatch get-metric-statistics --metric-name BucketSizeBytes --start-time 2017-01-23T14:23:00Z --end-time 2017-01-26T19:30:00Z --period 3600 --namespace AWS/S3 --statistics Maximum --dimensions Name=BucketName,Value=MyBucketName Name=StorageType,Value=StandardStorage --output table

Vous pouvez voir les dimensions définies pour une métrique grâce à la commande list-metrics.

Publication de points de données uniques

Pour publier un point de données unique pour une métrique nouvelle ou existante, utilisez la commande put-metric-data avec une valeur et un horodatage. Par exemple, les actions suivantes publient chacune un point de données.

aws cloudwatch put-metric-data --metric-name PageViewCount --namespace MyService --value 2 --timestamp 2016-10-20T12:00:00.000Z aws cloudwatch put-metric-data --metric-name PageViewCount --namespace MyService --value 4 --timestamp 2016-10-20T12:00:01.000Z aws cloudwatch put-metric-data --metric-name PageViewCount --namespace MyService --value 5 --timestamp 2016-10-20T12:00:02.000Z

Si vous donnez à cette commande un nouveau nom de métrique, CloudWatch crée automatiquement une nouvelle métrique. Dans le cas contraire, CloudWatch associe vos données à la métrique existante que vous avez spécifiée.

Note

Lorsque vous créez une métrique, jusqu'à deux minutes peuvent être nécessaires avant de pouvoir récupérer les statistiques de la nouvelle métrique à l'aide de la commande get-metric-statistics. Cependant, l'affichage de la nouvelle métrique dans la liste des métriques récupérées à l'aide de la commande list-metrics peut prendre jusqu'à quinze minutes.

Même si vous pouvez publier des points de données avec horodatages d'un niveau de détail d'un millième de seconde, CloudWatch regroupe les données avec un niveau de détail minimum d'une seconde. CloudWatch enregistre la moyenne (somme de tous les éléments divisée par le nombre d'éléments) des valeurs reçues par période, ainsi que le nombre d'échantillons, la valeur maximale et la valeur minimale pour cette période. Par exemple, la métrique PageViewCount des exemples précédents contient trois points de données avec des horodatages à quelques secondes les uns des autres. Si votre période est définie sur 1 minute, CloudWatch regroupe les trois points de données, car les horodatages se trouvent tous dans un délai d'une minute.

Vous pouvez utiliser la commande get-metric-statistics pour extraire des statistiques basées sur les points de données que vous avez publiés.

aws cloudwatch get-metric-statistics --namespace MyService --metric-name PageViewCount \ --statistics "Sum" "Maximum" "Minimum" "Average" "SampleCount" \ --start-time 2016-10-20T12:00:00.000Z --end-time 2016-10-20T12:05:00.000Z --period 60

Voici un exemple de sortie.

{ "Datapoints": [ { "SampleCount": 3.0, "Timestamp": "2016-10-20T12:00:00Z", "Average": 3.6666666666666665, "Maximum": 5.0, "Minimum": 2.0, "Sum": 11.0, "Unit": "None" } ], "Label": "PageViewCount" }

Publication des ensembles de statistiques

Vous pouvez regrouper vos données avant de publier sur CloudWatch. Lorsque vous avez plusieurs points de données par minute, les regroupements permettent de réduire le nombre d'appels à put-metric-data. Par exemple, au lieu d'appeler put-metric-data plusieurs fois pour trois points de données espacés de trois secondes maximum, vous pouvez regrouper les données dans un ensemble de statistiques que vous publiez en un seul appel, en utilisant le paramètre --statistic-values.

aws cloudwatch put-metric-data --metric-name PageViewCount --namespace MyService --statistic-values Sum=11,Minimum=2,Maximum=5,SampleCount=3 --timestamp 2016-10-14T12:00:00.000Z

CloudWatch a besoin de points de données bruts pour calculer les centiles. Si, au lieu de cela, vous publiez des données avec un ensemble de statistiques, vous ne pouvez pas récupérer de statistiques relatives aux percentiles pour ces données si aucune des conditions suivantes n'est réunie :

  • La valeur SampleCount de l'ensemble de statistiques est égale à 1

  • Les valeurs Minimum et Maximum de l'ensemble de statistiques sont égales

Publication de la valeur zéro

Lorsque vos données sont plus sporadiques et que vous avez des périodes sans aucune donnée, vous pouvez choisir de publier la valeur zéro (0) pour cette période ou aucune valeur du tout. Si vous utilisez des appels réguliers à PutMetricData pour surveiller l'intégrité de votre application, vous souhaiterez peut-être publier le chiffre zéro au lieu d'une absence de valeur. Vous pouvez par exemple spécifier une alarme CloudWatch pour vous avertir en cas d'incapacité de votre application à publier des métriques toutes les cinq minutes. Cette application doit alors publier des zéros pour les périodes sans donnée.

Vous pouvez également publier des zéros si vous souhaitez effectuer le suivi du nombre total de points de données, ou si vous souhaitez que des statistiques de type minimum ou moyenne incluent des points de données avec la valeur 0.