Publicar datos de métricas personalizadas para CloudWatch - AWS SDK for Java 2.x

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Publicar datos de métricas personalizadas para CloudWatch

Algunos servicios de AWS publican sus propias métricas en espacios de nombres que comienzan por "AWS". También puede publicar datos de métricas personalizadas usando su propio espacio de nombres (siempre y cuando no comience por "AWS").

Publicar datos de métricas personalizadas

Para publicar sus propios datos de métricas, llame al putMetricData método CloudWatchClient's con un PutMetricDataRequest. PutMetricDataRequestDebe incluir el espacio de nombres personalizado que se utilizará para los datos e información sobre el propio punto de datos de un MetricDatumobjeto.

nota

No puede especificar un espacio de nombres que comience por "AWS". Los espacios de nombres que comienzan por "AWS" están reservados para su uso por los productos de Amazon Web Services.

Importaciones

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;

Código

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); }

Consulte el ejemplo completo en. GitHub

Más información