

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
<a name="sns-active-tracing"></a>

Use AWS X-Ray para rastrear e analisar solicitações de usuários à medida que elas passam por seus tópicos do Amazon SNS para o [Amazon Data Firehose](sns-firehose-as-subscriber.md), Amazon [AWS Lambda](https://docs.aws.amazon.com/xray/latest/devguide/xray-services-lambda.html)SQS e assinaturas de [endpoints](https://docs.aws.amazon.com/xray/latest/devguide/xray-services-sqs.html). HTTP/S 

Com o X-Ray, você tem uma end-to-end visão 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 as [cotas do serviço de raio-X](https://docs.aws.amazon.com/general/latest/gr/xray.html#limits_xray) na Referência AWS geral.

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](https://console.aws.amazon.com/sns/v3/home), a [API `SetTopicAttributes` do Amazon SNS](https://docs.aws.amazon.com/sns/latest/api/API_SetTopicAttributes.html), a [referência de CLI do Amazon Simple Notification Service](https://docs.aws.amazon.com/cli/latest/reference/sns/) ou o [CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-topic.html).

Para saber mais sobre como usar o Amazon SNS com o X-Ray, consulte [Amazon SNS e AWS X-Ray](https://docs.aws.amazon.com/xray/latest/devguide/xray-services-sns.html) no Guia do desenvolvedor do AWS X-Ray .

## Permissões de rastreamento ativo
<a name="sns-active-tracing-permissions"></a>

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](security-iam.md) e [Casos de exemplo para controle de acesso do Amazon SNS](sns-access-policy-use-cases.md).

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](https://docs.aws.amazon.com/xray/latest/devguide/xray-services-sns.html).

## Habilitando o rastreamento ativo em um tópico do Amazon SNS usando o console AWS
<a name="sns-active-tracing-enable"></a>

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](https://console.aws.amazon.com/sns/home).

1. Selecione um tópico ou crie um. Para obter mais detalhes sobre como criar tópicos, consulte [Criar um tópico do Amazon SNS](sns-create-topic.md).

1. 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.

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

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

Depois de habilitar o X-Ray para seu tópico do Amazon SNS, você pode usar o [mapa do serviço X-Ray](https://docs.aws.amazon.com/xray/latest/devguide/xray-services-sns.html) para visualizar os end-to-end rastreamentos e mapas de serviço do tópico.

## Habilitando o rastreamento ativo em um tópico do Amazon SNS usando o SDK AWS
<a name="sns-enable-active-tracing-sdk"></a>

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

## Habilitando o rastreamento ativo em um tópico do Amazon SNS usando a CLI AWS
<a name="sns-enable-active-tracing-cli"></a>

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
```

## Habilitando o rastreamento ativo em um tópico do Amazon SNS usando CloudFormation
<a name="sns-enable-active-tracing-cf"></a>

A CloudFormation pilha 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
<a name="sns-active-tracing-verify"></a>

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](https://console.aws.amazon.com/sns/home).

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

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

1. Escolha a guia **Integrações**.

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

1. 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 AWS X-Ray ativo 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.\]](http://docs.aws.amazon.com/pt_br/sns/latest/dg/images/xray.png)


## Testar rastreamento ativo
<a name="sns-active-tracing-test"></a>

1. Faça login no console [do Amazon SNS](https://console.aws.amazon.com/sns/home).

1. 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](sns-create-topic.md#create-topic-aws-console).

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

1. Publique uma mensagem no tópico do Amazon SNS. Para obter detalhes sobre como fazer isso, consulte [Para publicar mensagens em tópicos do Amazon SNS usando o Console de gerenciamento da AWS](sns-publishing.md#sns-publishing-messages).

1. Use o [mapa do serviço X-Ray](https://docs.aws.amazon.com/xray/latest/devguide/xray-services-sns.html) para visualizar os end-to-end rastreamentos e mapas de serviço do tópico.

![\[Exibe um mapa de AWS X-Ray serviço 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 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.\]](http://docs.aws.amazon.com/pt_br/sns/latest/dg/images/xray-troubleshooting.png)
