Publicación de métricas del SDK desde AWS SDK for Java 2.x
Con AWS SDK for Java 2.x puede recopilar métricas sobre los clientes de servicio y las solicitudes de la aplicación y analizar los resultados en Registros de Amazon CloudWatch y, a continuación, actuar sobre ellos.
De forma predeterminada, la recopilación de métricas está deshabilitada en el SDK. En este tema se explica cómo activarlo y configurarlo.
Introducción a las métricas de SDK
Para habilitar la recopilación de métricas en la aplicación, elija la implementación adecuada de la interfaz de MetricPublisher en función del caso de uso y siga las instrucciones de configuración detalladas:
Para aplicaciones de larga duración:
-
Uso de
CloudWatchMetricPublisher -
Consulte Publicación de métricas del SDK de aplicaciones de ejecución prolongada para obtener instrucciones de configuración completas, código de ejemplo y opciones de configuración.
Para funciones de AWS Lambda:
-
Uso de
EmfMetricLoggingPublisher -
Consulte Publicación de métricas del SDK para funciones de AWS Lambda para obtener instrucciones completas de configuración, dependencias y configuración específica de Lambda.
Para resolución de problemas y resultado de la consola:
-
Uso de
LoggingMetricPublisher -
Consulte Envío de métricas del SDK a la consola para desarrollo y depuración para obtener instrucciones de configuración, opciones de formato y ejemplos de desarrollo local y solución de problemas.
Vista previa de implementación rápida
Este es el aspecto de las métricas de habilitación para cada caso de uso:
Aplicaciones de ejecución prolongada:
MetricPublisher metricsPub = CloudWatchMetricPublisher.create(); DynamoDbClient ddb = DynamoDbClient.builder() .overrideConfiguration(c -> c.addMetricPublisher(metricsPub)) .build();
Funciones de Lambda:
EmfMetricLoggingPublisher emfPublisher = EmfMetricLoggingPublisher.builder() .namespace("MyApp") .build(); DynamoDbClient dynamoDb = DynamoDbClient.builder() .overrideConfiguration(c -> c.addMetricPublisher(emfPublisher)) .build();
Desarrollo y depuración:
MetricPublisher loggingPublisher = LoggingMetricPublisher.create(); S3Client s3 = S3Client.builder() .overrideConfiguration(c -> c.addMetricPublisher(loggingPublisher)) .build();
Limitación de métricas del cliente de S3 basado en AWS CRT
El cliente de S3 basado en AWS CRT no admite actualmente la recopilación de métricas del SDK. El compilador de una instancia de cliente de S3 basada en AWS CRT, S3CrtAsyncClientBuilder
¿Cuándo están disponibles las métricas?
Por lo general, las métricas están disponibles entre 5 y 10 minutos después de que las emita el SDK para Java. Para obtener métricas precisas y actualizadas, consulte Cloudwatch al menos 10 minutos después de emitir las métricas desde sus aplicaciones Java.
¿Qué información se recopila?
La recopilación de métricas incluye lo siguiente:
-
Número de solicitudes de API, se hayan realizado correctamente o no
-
Información sobre los Servicios de AWS a los que se llama en las solicitudes de API, incluidas las excepciones devueltas
-
La duración de varias operaciones, como la serialización, la firma y las solicitudes HTTP
-
Métricas del cliente HTTP, como el número de conexiones abiertas, el número de solicitudes pendientes y el nombre del cliente HTTP utilizado
nota
Las métricas disponibles varían según el cliente HTTP.
Para ver una lista completa, consulte Métricas de los clientes de servicio.
¿Cómo puedo usar esta información?
Puede utilizar las métricas que recopila el SDK para monitorizar los clientes de servicio de su aplicación. Puede analizar las tendencias generales de uso, identificar anomalías, revisar las excepciones detectadas por los clientes del servicio o profundizar para entender un problema concreto. Con Registros de Amazon CloudWatch también puede crear alarmas para que le avisen en cuanto la aplicación alcance una condición que usted defina.
Para obtener más información, consulte Uso de métricas de Registros de Amazon CloudWatch y Uso de alarmas de Registros de Amazon CloudWatch en la Guía del usuario de Registros de Amazon CloudWatch.