Rastreo activo en Amazon SNS - Amazon Simple Notification Service

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.

Rastreo activo en Amazon SNS

Utilice AWS X-Ray para rastrear y analizar las solicitudes de los usuarios cuando pasen por sus temas de Amazon SNS hasta las suscripciones de Amazon Data Firehose, AWS Lambda, Amazon SQS y de punto de conexión HTTP/S.

Con X-Ray, obtiene una vista integral de cada solicitud, lo que le permite:

  • Identificar qué es lo que llama a su tema de Amazon SNS y qué servicios son descendentes de sus suscripciones.

  • Analizar las latencias, como por ejemplo:

    • Tiempo dedicado al tema de Amazon SNS antes de procesarlo.

    • Tiempos de entrega para cada punto de conexión suscrito.

importante

Es posible que los temas de Amazon SNS con numerosas suscripciones alcancen el límite de tamaño y no se rastreen por completo. Para obtener información sobre los límites de tamaño de los documentos de rastreo, consulte X-ray service quotas (Cuotas de servicio de X-Ray) en la referencia general de AWS.

Si llama a una API de Amazon SNS desde un servicio que ya se está rastreando, Amazon SNS transmite el rastreo, aunque el rastreo de X-Ray no esté habilitado en la API.

Amazon SNS solo admite rastreo de X-Ray para temas estándar y FIFO. Puede habilitar X-Ray para un tema de Amazon SNS mediante la consola de Amazon SNS, la API SetTopicAttributes de Amazon SNS, la referencia de la CLI de Amazon Simple Notification Service o CloudFormation.

Para obtener más información acerca del uso de Amazon SNS con X-Ray, consulte Amazon SNS y AWS X-Ray en la Guía para desarrolladores de AWS X-Ray.

Permisos de rastreo activo

Al utilizar la consola de Amazon SNS, Amazon SNS intenta crear los permisos necesarios para que el tema de Amazon SNS llame a X-Ray. El intento puede rechazarse si no tiene los permisos suficientes para usar la consola de Amazon SNS. Para obtener más información, consulte Identity and Access Management en Amazon SNS y Ejemplos de casos de control de acceso con Amazon SNS.

Cuando utilice la CLI, debe configurar los permisos manualmente. Estos permisos se configuran mediante políticas de recursos. Para obtener más información acerca del uso de los permisos necesarios en X-Ray, consulte Amazon SNS y AWS X-Ray.

Habilitación del rastreo activo en un tema de Amazon SNS mediante la consola de AWS

Cuando se habilita el rastreo activo en un tema de Amazon SNS, este lee el identificador de rastreo, envía los datos al cliente en función de ese identificador y lo propaga a los servicios posteriores.

  1. Inicie sesión en la consola de Amazon SNS.

  2. Elija un tema o cree uno nuevo. Para obtener más información acerca de la creación de temas, consulte Creación de un tema de Amazon SNS.

  3. En la página Crear tema, en la sección Detalles, elija un tipo de tema: FIFO o Estándar.

    1. Ingrese un nombre para el nuevo tema.

    2. (Opcional) Ingrese un nombre para mostrar para el tema.

  4. Expanda Active tracing (Rastreo activo) y seleccione Use active tracing (Usar rastreo activo).

Una vez que haya habilitado X-Ray en su tema de Amazon SNS, puede utilizar el mapa del servicio X-Ray para ver los rastreos y los mapas de servicio integrales del tema.

Habilitación del rastreo activo en un tema de Amazon SNS mediante el SDK de AWS

En el siguiente código de ejemplo, se muestra cómo habilitar el rastreo activo en un tema de Amazon SNS con AWS SDK para Java.

public static void enableActiveTracing(SnsClient snsClient, String topicArn) { try { SetTopicAttributesRequest request = SetTopicAttributesRequest.builder() .attributeName("TracingConfig") .attributeValue("Active") .topicArn(topicArn) .build(); SetTopicAttributesResponse result = snsClient.setTopicAttributes(request); System.out.println("\n\nStatus was " + result.sdkHttpResponse().statusCode() + "\n\nTopic " + request.topicArn() + " updated " + request.attributeName() + " to " + request.attributeValue()); } catch (SnsException e) { System.err.println(e.awsErrorDetails().errorMessage()); } }

Habilitación del rastreo activo en un tema de Amazon SNS mediante la CLI de AWS

En el siguiente código de ejemplo, se muestra cómo habilitar el rastreo activo en un tema de Amazon SNS con la CLI de AWS.

aws sns set-topic-attributes \ --topic-arn arn:aws:sns:us-west-2:123456789012:MyTopic \ --attribute-name TracingConfig \ --attribute-value Active

Habilitación del rastreo activo en un tema de Amazon SNS mediante CloudFormation

La siguiente pila de CloudFormation indica cómo habilitar el rastreo activo en un tema de Amazon SNS.

AWSTemplateFormatVersion: 2010-09-09 Resources: MyTopicResource: Type: 'AWS::SNS::Topic' Properties: TopicName: 'MyTopic' TracingConfig: 'Active'

Verificación de que el rastreo activo está habilitado para su tema

Puede utilizar la consola de Amazon SNS para comprobar si el rastreo activo está habilitado para su tema o si no se ha podido añadir la política de recursos.

  1. Inicie sesión en la consola de Amazon SNS.

  2. En el panel de navegación izquierdo, elija Topics (Temas).

  3. Elija un tema en la página Topics (Temas).

  4. Elija la pestaña Integrations (Integraciones).

    Cuando el rastreo activo está habilitado, aparece un icono Active (Activo) de color verde.

  5. Si ha habilitado el rastreo activo y no ve que se haya añadido la política de recursos, elija Create policy (Crear política) para añadir los permisos adicionales necesarios.

Captura de pantalla que muestra los detalles de un tema de Amazon SNS llamado “SampleTopic” en la Consola de administración de AWS. Indica que el rastreo activo de AWS X-Ray está habilitado para este tema, pero falta una política de recursos que permita a Amazon SNS enviar datos de rastreo. Se incluye el botón “Crear política” para resolver este problema.

Prueba del rastreo activo

  1. Inicie sesión en la consola de Amazon SNS.

  2. Crear un tema de Amazon SNS Para obtener más detalles sobre cómo hacerlo, consulte Para crear un tema mediante el Consola de administración de AWS.

  3. Expanda Active tracing (Rastreo activo) y seleccione Use active tracing (Usar rastreo activo).

  4. Publique un mensaje en el tema de Amazon SNS. Para obtener más detalles sobre cómo hacerlo, consulte Para publicar mensajes en temas de Amazon SNS mediante la Consola de administración de AWS, siga estos pasos:.

  5. Utilice el mapa del servicio de X-Ray para ver los rastreos y los mapas de servicio integrales del tema.

Muestra un mapa de servicio de AWS X-Ray que ilustra el seguimiento de una solicitud que va desde un cliente a un tema de Amazon SNS llamado “xray-topic“. Desde allí, el mensaje se distribuye a varios servicios descendentes, como una cola de Amazon SQS, una función de Lambda, una instancia de Kinesis Firehose y un servicio remoto. Cada conexión muestra métricas como la latencia en milisegundos (ms) y la velocidad de transacciones por minuto (t/min), lo que ayuda a analizar el rendimiento e identificar cualquier problema de latencia en el proceso de entrega de mensajes.