Dois-je utiliser GetMetricData ou GetMetricStatistics pour les métriques CloudWatch ?
Je souhaite savoir s’il est préférable d’utiliser l’opération d’API GetMetricData ou GetMetricStatistics pour récupérer des points de données à partir des métriques Amazon CloudWatch.
Brève description
Comme l’opération d’API GetMetricData récupère des données plus rapidement que GetMetricStatistics, il est recommandé d’utiliser GetMetricData. GetMetricData prend en charge les mathématiques de métriques et renvoie des résultats ordonnés et paginés.
Les quotas de service appliqués à l’opération d’API GetMetricData sont les suivants :
- 50 transactions par seconde (TPS).
- 180 000 points de données par seconde (DPS), si le paramètre StartTime de la requête d’API est inférieur ou égal à 3 heures par rapport à l’heure actuelle.
- 396 000 DPS lorsque la valeur StartTime est supérieure de 3 heures à l’heure actuelle.
Remarque : la tarification de GetMetricData est différente de celle de GetMetricStatistics. Pour plus d'informations, sélectionnez l'onglet Métriques de la section Niveau payant de la page de tarification d'Amazon CloudWatch.
Résolution
Remarque : si des erreurs surviennent lorsque vous exécutez des commandes de l'interface de la ligne de commande AWS (AWS CLI), consultez la section Résoudre des erreurs liées à l’AWS CLI. Vérifiez également que vous utilisez bien la version la plus récente de l'AWS CLI.
Pour utiliser l'opération d'API GetMetricData afin d'obtenir des points de données, procédez comme suit dans l'AWS CLI :
-
Créez un paramètre d’entrée pour l’opération d’API GetMetricData.<br id=hardline_break/> Exemple d'opération :
cat metric-data-queries.json[ { "Id": "e1", "Expression": "m1 / m2", "Label": "ErrorRate" }, { "Id": "m1", "MetricStat": { "Metric": { "Namespace": "MyApplication", "MetricName": "Errors", "Dimensions": [ { "Name": "FunctionName", "Value": "MyFunc" } ] }, "Period": 300, "Stat": "Sum", "Unit": "Count" }, "ReturnData": false }, { "Id": "m2", "MetricStat": { "Metric": { "Namespace": "MyApplication", "MetricName": "Invocations", "Dimensions": [ { "Name": "FunctionName", "Value": "MyFunc" } ] }, "Period": 300, "Stat": "Sum", "Unit": "Count" }, "ReturnData": false } ]Remarque : remplacez MyApplication par le nom de votre application.<br id=hardline_break/> Lors de l’opération précédente, le paramètre d’entrée comporte des métriques personnalisées concernant les Invocations et les erreurs. CloudWatch calcule la métrique ErrorRate à l'aide des mathématiques des deux autres métriques.
-
Utilisez PutMetricData pour publier des exemples de données en tant que métriques personnalisées.<br id=hardline_break/> Exemple d'opération :
aws cloudwatch put-metric-data --namespace MyApplication --metric-name Invocations --dimensions FunctionName=MyFunc --value 10 --unit Count --timestamp 2018-06-19T04:00:00Z$ aws cloudwatch put-metric-data --namespace MyApplication --metric-name Invocations --dimensions FunctionName=MyFunc --value 10 --unit Count --timestamp 2018-06-19T04:05:00Z aws cloudwatch put-metric-data --namespace MyApplication --metric-name Invocations --dimensions FunctionName=MyFunc --value 10 --unit Count --timestamp 2018-06-19T04:10:00Z aws cloudwatch put-metric-data --namespace MyApplication --metric-name Invocations --dimensions FunctionName=MyFunc --value 10 --unit Count --timestamp 2018-06-19T04:15:00Z aws cloudwatch put-metric-data --namespace MyApplication --metric-name Invocations --dimensions FunctionName=MyFunc --value 10 --unit Count --timestamp 2018-06-19T04:20:00Z aws cloudwatch put-metric-data --namespace MyApplication --metric-name Errors --dimensions FunctionName=MyFunc --value 3 --unit Count --timestamp 2018-06-19T04:00:00Z aws cloudwatch put-metric-data --namespace MyApplication --metric-name Errors --dimensions FunctionName=MyFunc --value 6 --unit Count --timestamp 2018-06-19T04:05:00Z aws cloudwatch put-metric-data --namespace MyApplication --metric-name Errors --dimensions FunctionName=MyFunc --value 2 --unit Count --timestamp 2018-06-19T04:10:00Z aws cloudwatch put-metric-data --namespace MyApplication --metric-name Errors --dimensions FunctionName=MyFunc --value 9 --unit Count --timestamp 2018-06-19T04:15:00Z aws cloudwatch put-metric-data --namespace MyApplication --metric-name Errors --dimensions FunctionName=MyFunc --value 1 --unit Count --timestamp 2018-06-19T04:20:00ZRemarque : pour publier jusqu'à 20 métriques, ajoutez l'option --metric-data à l’opération PutMetricData sous le même espace de noms, puis exécutez l'API.
-
Exécutez la commande get-metric-data de l'AWS CLI suivante :
aws cloudwatch get-metric-data --metric-data-queries file://./metric-data-queries.json --start-time 2018-06-19T04:00:00Z --end-time 2018-06-19T04:30:00ZRemarque : remplacez //./metric-data-queries.json par le fichier JSON, 2018-06-19T04:00:00Z par l’heure de début et 2018-06-19T04:30:00Z par l’heure de fin.<br id=hardline_break/> Exemple de sortie :
aws cloudwatch get-metric-data --metric-data-queries file://./metric-data-queries.json --start-time 2018-06-19T04:00:00Z --end-time 2018-06-19T04:30:00Z{ "MetricDataResults": [ { "Timestamps": [ "2018-06-19T04:20:00Z", "2018-06-19T04:15:00Z", "2018-06-19T04:10:00Z", "2018-06-19T04:05:00Z", "2018-06-19T04:00:00Z" ], "StatusCode": "Complete", "Values": [ 0.1, 0.9, 0.2, 0.6, 0.3 ], "Id": "e1", "Label": "ErrorRate" } ] }Remarque : dans l'exemple de sortie précédent, CloudWatch calcule cinq points de données à l'aide des mathématiques de métriques et les renvoie sous forme de résultat chronologique. Comme ReturnData est défini sur false, les données m1 et m2 ne sont pas inclus dans la réponse.
- Sujets
- Management & Governance
- Balises
- Amazon CloudWatch
- Langue
- Français

Contenus pertinents
demandé il y a 4 ans
demandé il y a 2 ans
demandé il y a 2 ans