Rastreamento ativo no Amazon SNS - Amazon Simple Notification Service

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Rastreamento ativo no Amazon SNS

Use o AWS X-Ray para rastrear e analisar as solicitações dos usuários à medida que elas passam por seus tópicos do Amazon SNS até as assinaturas do Amazon Data Firehose, AWS Lambda, Amazon SQS e endpoint HTTP/S.

Com o X-Ray, você obtém uma visão completa de cada solicitação, permitindo que você:

  • Identifique o que está chamando seu tópico do Amazon SNS e quais serviços estão a jusante de suas assinaturas.

  • Analise latências, como:

    • Tempo gasto no tópico do Amazon SNS antes do processamento.

    • Prazos de entrega para cada endpoint inscrito.

Importante

Os tópicos do Amazon SNS com várias assinaturas podem atingir um limite de tamanho e não ser totalmente rastreados. Para obter informações sobre os limites de tamanho do documento de rastreamento, consulte Cotas de serviço do X-Ray na Referência geral da AWS.

Se você chamar uma API do Amazon SNS de um serviço que já foi rastreado, o Amazon SNS enviará o rastreamento adiante, mesmo que o rastreamento do X-Ray não esteja habilitado na API.

O Amazon SNS permite o rastreamento do X-Ray para tópicos comuns e FIFO. Você pode ativar o X-Ray para um tópico do Amazon SNS usando o console do Amazon SNS, a API SetTopicAttributes do Amazon SNS, a referência de CLI do Amazon Simple Notification Service ou o CloudFormation.

Para saber mais sobre como usar o Amazon SNS com o X-Ray, consulte Amazon SNS e AWS X-Ray no Guia do desenvolvedor do AWS X-Ray.

Permissões de rastreamento ativo

Ao usar o console do Amazon SNS, o Amazon SNS tenta criar as permissões necessárias para que o tópico do Amazon SNS chame o X-Ray. A tentativa poderá ser rejeitada se você não tiver permissões suficientes para usar o console do Amazon SNS. Para obter mais informações, consulte Gerenciamento de identidade e acesso no Amazon SNS e Casos de exemplo para controle de acesso do Amazon SNS.

Ao usar a CLI, você deve configurar manualmente as permissões. Essas permissões são configuradas usando políticas de recursos. Para saber mais sobre como usar as permissões necessárias no X-Ray, consulte Amazon SNS e AWS X-Ray.

Habilitar o rastreamento ativo em um tópico do Amazon SNS o console da AWS

Quando o rastreamento ativo é habilitado em um tópico do Amazon SNS, ele lê o ID de rastreamento, envia os dados para o cliente com base no ID de rastreamento e propaga o ID de rastreamento para serviços downstream.

  1. Faça login no console do Amazon SNS.

  2. Selecione um tópico ou crie um. Para obter mais detalhes sobre como criar tópicos, consulte Criar um tópico do Amazon SNS.

  3. Na página Criar tópico, na seção Detalhes, selecione um tipo de tópico: FIFO ou Padrão.

    1. Insira um Nome para o tópico.

    2. (Opcional) Insira um Nome de exibição para o tópico.

  4. Expanda Active tracing (Rastreamento ativo) e escolha Use active tracing (Usar rastreamento ativo).

Depois de habilitar o X-Ray para o tópico do Amazon SNS, você poderá usar o mapa de serviços do X-Ray para visualizar os rastreamentos completos e os mapas de serviços do tópico.

Habilitar o rastreamento ativo em um tópico do Amazon SNS o AWS SDK

O exemplo de código a seguir mostra como habilitar o rastreamento ativo em um tópico do Amazon SNS usando o 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()); } }

Habilitar o rastreamento ativo em um tópico do Amazon SNS usando o AWS CLI

O exemplo de código a seguir mostra como habilitar o rastreamento ativo em um tópico do Amazon SNS usando a AWS CLI.

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

Habilitar o rastreamento ativo em um tópico do Amazon SNS usando o CloudFormation

A pilha do CloudFormation a seguir mostra como habilitar o rastreamento ativo em um tópico do Amazon SNS.

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

Verificar se o rastreamento ativo está habilitado para o tópico

Você pode usar o console do Amazon SNS para verificar se o rastreamento ativo está habilitado para o tópico ou para verificar quando a política de recursos não foi adicionada.

  1. Faça login no console do Amazon SNS.

  2. No painel de navegação à esquerda, selecione Tópicos.

  3. Na página Topics (Tópicos), escolha um tópico.

  4. Escolha a guia Integrações.

    Quando o rastreamento ativo está habilitado, um ícone Active (Ativo) é exibido.

  5. Se você habilitou o rastreamento ativo e não vê que a política de recursos foi adicionada, escolha Criar política para adicionar as outras permissões necessárias.

Captura de tela exibindo os detalhes de um tópico do Amazon SNS chamado “SampleTopic” no Console de gerenciamento da AWS. Isso indica que o rastreamento ativo AWS X-Ray está habilitado para este tópico, mas falta uma política de recursos que permita ao Amazon SNS enviar dados de rastreamento. Um botão “Criar política” é fornecido para resolver esse problema.

Testar rastreamento ativo

  1. Faça login no console do Amazon SNS.

  2. Crie um tópico do Amazon SNS. Para obter detalhes sobre como fazer isso, consulte Para criar um tópico usando o Console de gerenciamento da AWS.

  3. Expanda Active tracing (Rastreamento ativo) e escolha Use active tracing (Usar rastreamento ativo).

  4. Publique uma mensagem no tópico do Amazon SNS. Para obter detalhes sobre como fazer isso, consulte Para publicar mensagens nos tópicos do Amazon SNS usando o Console de gerenciamento da AWS.

  5. Use o mapa de serviços do X-Ray para visualizar os rastreamentos completos e mapas de serviços do tópico.

Exibe um mapa de serviço AWS X-Ray que mostra o rastreamento de uma solicitação que flui de um cliente para um tópico do Amazon SNS chamado "xray-topic". A partir daí, a mensagem é distribuída para vários serviços downstream, incluindo uma fila do Amazon SQS, uma função do Lambda, um firehose Kinesis e um serviço remoto. Cada conexão exibe métricas como latência em milissegundos (ms) e taxa de transações por minuto (t/min), ajudando a analisar o desempenho e identificar quaisquer problemas de latência no processo de entrega de mensagens.