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 método putMetricData de CloudWatchClient con un objeto PutMetricDataRequestPutMetricDataRequest debe incluir el espacio de nombres personalizado que se va a usar para los datos e información sobre el propio punto de datos en un objeto MetricDatum
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 de
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
Más información
-
Uso de métricas de Amazon CloudWatch en la Guía del usuario de Amazon CloudWatch.
-
Espacios de nombres de AWS en la Guía del usuario de Amazon CloudWatch.
-
PutMetricData en la Referencia de la API de Amazon CloudWatch.