View a markdown version of this page

Publiez des données de métriques personnalisées sur CloudWatch - AWS SDK for Java 2.x

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.

Publiez des données de métriques personnalisées sur CloudWatch

Un certain nombre de AWS services publient leurs propres métriques dans des espaces de noms commençant par AWS « ». Vous pouvez également publier des données de métriques personnalisées en utilisant votre propre espace de noms (tant qu'il ne commence pas par AWS « »).

Publier des données de métriques personnalisées

Pour publier vos propres données métriques, appelez la putMetricData méthode CloudWatchClient's avec un PutMetricDataRequest. PutMetricDataRequestIl doit inclure l'espace de noms personnalisé à utiliser pour les données, ainsi que des informations sur le point de données lui-même dans un MetricDatum objet.

Note

Vous ne pouvez pas spécifier d'espace de noms commençant par « AWS ». Les espaces de noms commençant par « AWS » sont réservés à l'usage des Amazon Web Services produits.

Importations

import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.cloudwatch.CloudWatchClient; import software.amazon.awssdk.services.cloudwatch.model.Dimension; import software.amazon.awssdk.services.cloudwatch.model.MetricDatum; import software.amazon.awssdk.services.cloudwatch.model.StandardUnit; import software.amazon.awssdk.services.cloudwatch.model.PutMetricDataRequest; import software.amazon.awssdk.services.cloudwatch.model.CloudWatchException; import java.time.Instant; import java.time.ZoneOffset; import java.time.ZonedDateTime; import java.time.format.DateTimeFormatter;

Code

public static void putMetData(CloudWatchClient cw, Double dataPoint ) { try { Dimension dimension = Dimension.builder() .name("UNIQUE_PAGES") .value("URLS") .build(); // Set an Instant object String time = ZonedDateTime.now( ZoneOffset.UTC ).format( DateTimeFormatter.ISO_INSTANT ); Instant instant = Instant.parse(time); MetricDatum datum = MetricDatum.builder() .metricName("PAGES_VISITED") .unit(StandardUnit.NONE) .value(dataPoint) .timestamp(instant) .dimensions(dimension).build(); PutMetricDataRequest request = PutMetricDataRequest.builder() .namespace("SITE/TRAFFIC") .metricData(datum).build(); cw.putMetricData(request); } catch (CloudWatchException e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); } System.out.printf("Successfully put data point %f", dataPoint); }

Voir l'exemple complet sur GitHub.

En savoir plus