

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

# Integrando AWS X-Ray com outros Serviços da AWS
<a name="xray-services"></a>

**nota**  
Aviso de SDK/Daemon manutenção do X-Ray — Em 25 de fevereiro de 2026, o AWS X-Ray SDKs/Daemon entrará no modo de manutenção, onde AWS limitará as versões do X-Ray SDK e do Daemon para tratar apenas de problemas de segurança. Para obter mais informações sobre a linha do tempo do suporte, consulte [Cronograma de suporte do X-Ray SDK e do Daemon Support](xray-sdk-daemon-timeline.md). Recomendamos migrar para o. OpenTelemetry Para obter mais informações sobre a migração para OpenTelemetry, consulte [Migrando da instrumentação X-Ray para a instrumentação](https://docs.aws.amazon.com/xray/latest/devguide/xray-sdk-migration.html). OpenTelemetry 

Muitos Serviços da AWS oferecem níveis variados de integração com o X-Ray, incluindo amostragem e adição de cabeçalhos às solicitações recebidas, execução do daemon X-Ray e envio automático de dados de rastreamento para o X-Ray. A integração com o X-Ray pode incluir o seguinte:
+ *Instrumentação ativa*: realiza amostragens e instrumenta as solicitações de entrada.
+ *Instrumentação passiva*: instrumenta as solicitações que foram amostradas por outro serviço.
+ *Rastreamento de solicitação*: adiciona um cabeçalho de rastreamento a todas as solicitações de entrada e o propaga subsequentemente.
+ *Ferramentas*: executa o daemon do X-Ray para receber segmentos do X-Ray SDK;

**nota**  
O X-Ray SDKs inclui plug-ins para integração adicional com Serviços da AWS. Por exemplo, você pode usar o plug-in do Elastic Beanstalk do X-Ray SDK para Java para adicionar informações sobre o ambiente do Elastic Beanstalk no qual o aplicativo está sendo executada, incluindo o nome e o ID do ambiente.

Aqui estão alguns exemplos Serviços da AWS que estão integrados ao X-Ray:
+ [AWS Distro for OpenTelemetry (ADOT)](xray-services-adot.md) — Com o ADOT, os engenheiros podem instrumentar seus aplicativos uma vez e enviar métricas e rastreamentos correlacionados para várias AWS soluções de monitoramento, incluindo Amazon CloudWatch, Amazon Service e AWS X-Ray Amazon OpenSearch Managed Service for Prometheus.
+ [AWS Lambda](xray-services-lambda.md)— Instrumentação ativa e passiva das solicitações recebidas em todos os tempos de execução. AWS Lambda adiciona dois nós ao seu mapa de rastreamento, um para o AWS Lambda serviço e outro para a função. Quando você ativa a instrumentação, AWS Lambda também executa o daemon X-Ray em tempos de execução Java e Node.js para uso com o X-Ray SDK.
+ [Amazon API Gateway](xray-services-apigateway.md): instrumentação ativa e passiva. O API Gateway usa regras de amostragem para determinar quais solicitações serão registradas e adiciona um nó para o estágio do gateway ao seu mapa de serviço. 
+ [AWS Elastic Beanstalk](xray-services-beanstalk.md): ferramentas. O Elastic Beanstalk inclui o daemon do X-Ray nas seguintes plataformas:
  + *Java SE*: 2.3.0 e configurações posteriores
  + *Tomcat*: 2.4.0 e configurações posteriores
  + *Node.js*: 3.2.0 e configurações posteriores
  + *Windows Server*: todas as configurações foram lançadas após 9 de dezembro de 2016, com a exceção do Windows Server Core.

  É possível usar o console do Elastic Beanstalk para instruir o Elastic Beanstalk a executar o daemon nessas plataformas ou usar a opção `XRayEnabled` no namespace `aws:elasticbeanstalk:xray`. 
+ [Elastic Load Balancing](xray-services-elb.md): rastreamento de solicitações em Application Load Balancers. O Application Load Balancer adiciona o ID de rastreamento ao cabeçalho de solicitação antes de enviá-lo para um grupo de destino.
+ [Amazon EventBridge](xray-services-eventbridge.md) — Instrumentação passiva. Se um serviço que publica eventos EventBridge for instrumentado com o X-Ray SDK, os destinos do evento receberão o cabeçalho de rastreamento e poderão continuar a propagar o ID de rastreamento original. 
+ [Amazon Simple Notification Service](xray-services-sns.md): instrumentação passiva. Caso um publicador do Amazon SNS rastreia seus clientes com o X-Ray SDK, os assinantes podem recuperar o cabeçalho de rastreamento e continuar a propagar o rastreamento original do publicador com o mesmo ID de rastreamento. 
+ [Amazon Simple Queue Service](xray-services-sqs.md): instrumentação passiva. Caso um serviço rastreie solicitações usando o X-Ray SDK, o Amazon SQS pode enviar o cabeçalho de rastreamento e continuar a propagar o rastreamento original do remetente para o consumidor com um ID de rastreamento consistente. 
+ [Amazon Bedrock AgentCore](xray-services-sqs.md) — AgentCore oferece suporte ao rastreamento distribuído por meio da integração com o X-Ray, permitindo que você acompanhe as solicitações à medida que elas fluem pelos aplicativos do seu agente. Ao habilitar a observabilidade de seus AgentCore recursos, você pode propagar o contexto de rastreamento entre os limites do serviço e obter visibilidade do desempenho de seus agentes e ferramentas de IA. 

Escolha um dos tópicos a seguir para explorar o conjunto completo de opções integradas Serviços da AWS.

**Topics**
+ [Amazon Bedrock AgentCore e AWS X-Ray](xray-services-agentcore.md)
+ [Amazon Elastic Compute Cloud e AWS X-Ray](xray-services-ec2.md)
+ [Amazon SNS e AWS X-Ray](xray-services-sns.md)
+ [Amazon SQS e AWS X-Ray](xray-services-sqs.md)
+ [Amazon S3 e AWS X-Ray](xray-services-s3.md)
+ [AWS Distro para OpenTelemetry e AWS X-Ray](xray-services-adot.md)
+ [Rastrear as alterações da configuração de criptografia do X-Ray com o AWS Config](xray-api-config.md)
+ [AWS AppSync e AWS X-Ray](xray-services-appsync.md)
+ [Compatibilidade com o rastreamento ativo do Amazon API Gateway para o AWS X-Ray](xray-services-apigateway.md)
+ [Amazon EC2 e AWS App Mesh](xray-services-appmesh.md)
+ [AWS App Runner e X-Ray](xray-services-app-runner.md)
+ [Registrando chamadas da API X-Ray com AWS CloudTrail](xray-api-cloudtrail.md)
+ [Integração ao CloudWatch para o X-Ray](xray-services-cloudwatch.md)
+ [AWS Elastic Beanstalk and AWS X-Ray](xray-services-beanstalk.md)
+ [Elastic Load Balancing e AWS X-Ray](xray-services-elb.md)
+ [Amazon EventBridge e AWS X-Ray](xray-services-eventbridge.md)
+ [AWS Lambda and AWS X-Ray](xray-services-lambda.md)
+ [AWS Step Functions e AWS X-Ray](xray-services-stepfunctions.md)

# Amazon Bedrock AgentCore e AWS X-Ray
<a name="xray-services-agentcore"></a>

O Amazon Bedrock AgentCore se integra AWS X-Ray para fornecer recursos de rastreamento distribuído para seus agentes e ferramentas de IA. Essa integração permite rastrear as solicitações à medida que elas fluem pelas aplicações dos seus agentes, ajudando você a identificar gargalos de desempenho e solucionar problemas.

AgentCore oferece suporte ao rastreamento distribuído por meio da integração com o X-Ray, permitindo monitorar o desempenho de seus agentes e ferramentas de IA. Ao habilitar a observabilidade para seus AgentCore recursos, você pode propagar o contexto de rastreamento entre os limites do serviço e obter visibilidade de como seus agentes interagem com outros AWS serviços. Para obter mais informações, consulte [Amazon Bedrock AgentCore](https://docs.aws.amazon.com//bedrock-agentcore/latest/devguide/what-is-genesis.html). 

AgentCore suporta os seguintes recursos do X-Ray:
+ Propagação do contexto de rastreamento para serviços downstream
+ Instrumentação personalizada usando o AWS Distro for OpenTelemetry (ADOT) SDK

## Configurando o X-Ray com AgentCore
<a name="xray-services-agentcore-settingup"></a>

Para usar o X-Ray com AgentCore, você precisa ativar a Pesquisa de CloudWatch Transações em sua AWS conta. Essa é uma configuração única que permite enviar dados de rastreamento AgentCore para o X-Ray. Para obter mais informações, consulte [Habilitar o Transaction Search](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Transaction-Search.html).

Para obter mais informações sobre como configurar a observabilidade para AgentCore, consulte [Adicionar observabilidade ao seu AgentCore agente ou ferramenta Amazon Bedrock](https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/observability-configure.html).

## Usando cabeçalhos de rastreamento com AgentCore
<a name="xray-services-agentcore-trace"></a>

AgentCore suporta o formato de cabeçalho de rastreamento X-Ray para rastreamento distribuído. Você pode incluir o `X-Amzn-Trace-Id` cabeçalho em suas solicitações AgentCore para manter o contexto de rastreamento entre os limites do serviço.

# Amazon Elastic Compute Cloud e AWS X-Ray
<a name="xray-services-ec2"></a>

Você pode instalar e executar o daemon do X-Ray em uma instância do Amazon EC2 com um script de dados do usuário. Para obter instruções, consulte [Executando o daemon X-Ray na Amazon EC2](xray-daemon-ec2.md).

Use um perfil de instância para conceder ao daemon permissão para fazer upload de dados de rastreamento no X-Ray. Para obter mais informações, consulte [Conceder permissão ao daemon para enviar dados ao X-Ray](xray-daemon.md#xray-daemon-permissions).

# Amazon SNS e AWS X-Ray
<a name="xray-services-sns"></a>

Você pode usar o AWS X-Ray com o Amazon Simple Notification Service (Amazon SNS) para rastrear e analisar solicitações à medida que elas passam pelos tópicos do SNS até os [serviços de assinatura compatíveis com o SNS](https://docs.aws.amazon.com/sns/latest/dg/sns-active-tracing.html). Use o rastreamento do X-Ray com o Amazon SNS para analisar latências em mensagens e serviços de back-end, como quanto tempo uma solicitação permanece em um tópico e quanto tempo leva para entregar a mensagem a cada uma das assinaturas do tópico. O Amazon SNS permite o rastreamento do X-Ray para tópicos comuns e FIFO.

Se você publicar em um tópico do Amazon SNS usando um serviço que já está instrumentado com o X-Ray, o Amazon SNS passará o contexto de rastreamento do publicador para os assinantes. Além disso, você pode ativar o rastreamento ativo para enviar dados de segmentos sobre suas assinaturas do Amazon SNS ao X-Ray para mensagens publicadas de um cliente do SNS instrumentado. [Ative o rastreamento ativo](https://docs.aws.amazon.com/sns/latest/dg/sns-active-tracing.html) para um tópico do Amazon SNS usando o console do Amazon SNS ou usando a CLI ou a API do Amazon SNS. Consulte [Instrumentar sua aplicação](xray-instrumenting-your-app.md) para obter mais informações sobre como instrumentar clientes do SNS. 

## Configurar o rastreamento ativo do Amazon SNS
<a name="xray-services-sns-configuration"></a>

Você pode usar o console do Amazon SNS ou a AWS CLI ou o SDK para configurar o rastreamento ativo do Amazon SNS. 

Ao usar o console do Amazon SNS, o Amazon SNS tenta criar as permissões necessárias para que o SNS chame o X-Ray. A tentativa poderá ser rejeitada se você não tiver permissões suficientes para modificar as políticas de recursos do X-Ray. Para obter mais informações sobre o controle de acesso do Amazon SNS, consulte [Identity and access management in Amazon SNS](https://docs.aws.amazon.com/sns/latest/dg/sns-authentication-and-access-control.html) e [Casos de exemplo para o controle de acesso do Amazon SNS](https://docs.aws.amazon.com/sns/latest/dg/sns-access-policy-use-cases.html) no Guia do desenvolvedor do Amazon Simple Notification Service. Para obter mais informações sobre como ativar o rastreamento ativo usando o console do Amazon SNS, consulte [Habilitar o rastreamento ativo em um tópico do Amazon SNS](https://docs.aws.amazon.com/sns/latest/dg/sns-active-tracing.html) no Guia do desenvolvedor do Amazon Simple Notification Service. 

Ao utilizar a AWS CLI ou o SDK para ativar o rastreamento ativo, você deve configurar manualmente as permissões usando políticas baseadas em recursos. Use [https://docs.aws.amazon.com/xray/latest/api/API_PutResourcePolicy.html](https://docs.aws.amazon.com/xray/latest/api/API_PutResourcePolicy.html) para configurar o X-Ray com a política baseada em recursos necessária para permitir que o Amazon SNS envie rastreamentos ao X-Ray. 

**Example Exemplo de política baseada em recursos do X-Ray para rastreamento ativo do Amazon SNS**  
Este exemplo de documento de política especifica as permissões que o Amazon SNS precisa para enviar dados de rastreamento ao X-Ray:  

```
{
    Version: "2012-10-17",		 	 	 
    Statement: [
      {
        Sid: "SNSAccess",
        Effect: Allow,
        Principal: {
          Service: "sns.amazonaws.com",
        },
        Action: [
          "xray:PutTraceSegments",
          "xray:GetSamplingRules",
          "xray:GetSamplingTargets"
        ],
        Resource: "*",
        Condition: {
          StringEquals: {
            "aws:SourceAccount": "account-id"
          },
          StringLike: {
            "aws:SourceArn": "arn:partition:sns:region:account-id:topic-name"
          }
        }
      }
    ]
  }
```
Use a CLI para criar uma política baseada em recursos que conceda permissões ao Amazon SNS para enviar dados de rastreamento ao X-Ray:   

```
aws xray put-resource-policy --policy-name MyResourcePolicy --policy-document '{ "Version": "2012-10-17",		 	 	  "Statement": [ { "Sid": "SNSAccess", "Effect": "Allow", "Principal": { "Service": "sns.amazonaws.com" }, "Action": [ "xray:PutTraceSegments", "xray:GetSamplingRules", "xray:GetSamplingTargets" ], "Resource": "*", "Condition": { "StringEquals": { "aws:SourceAccount": "account-id" }, "StringLike": { "aws:SourceArn": "arn:partition:sns:region:account-id:topic-name" } } } ] }'
```
Para usar esses exemplos, substitua *`partition`*, *`region`*, *`account-id`* e *`topic-name`* por sua partição, região, ID da conta e nome de tópico do Amazon SNS específicos da AWS. Para conceder permissão a todos os tópicos do Amazon SNS para enviar dados de rastreamento ao X-Ray, substitua o nome do tópico por `*`. 

## Visualize rastreamentos de publicadores e assinantes do Amazon SNS no console do X-Ray
<a name="xray-services-sns-view-traces"></a>

Use o console do X-Ray para visualizar um mapa de serviço, um mapa de rastreamento e detalhes de rastreamento que exibem uma visão conectada dos publicadores e assinantes do Amazon SNS. Quando o rastreamento ativo do Amazon SNS é ativado para um tópico, o mapa do serviço do X-Ray e o mapa de rastreamento exibem nós conectados para os publicadores do Amazon SNS, o tópico do Amazon SNS e os assinantes subsequentes: 

![\[Mapa de serviço com publicador e assinante do Amazon SNS\]](http://docs.aws.amazon.com/pt_br/xray/latest/devguide/images/services-sns-activetracing-map.png)


Depois que você escolhe um rastreamento que abrange um publicador e assinante do Amazon SNS, a página de detalhes do rastreamento X-Ray exibe um mapa de rastreamento e uma linha do tempo de segmento. 

**Example Exemplo de linha do tempo com publicador e assinante do Amazon SNS**  
Este exemplo mostra uma linha do tempo que inclui um publicador do Amazon SNS que envia uma mensagem a um tópico do Amazon SNS, o qual é processado por um assinante do Amazon SQS.   

![\[Linha do tempo do segmento com publicador e assinante do Amazon SNS\]](http://docs.aws.amazon.com/pt_br/xray/latest/devguide/images/services-sns-activetracing-timeline.png)


O exemplo de linha do tempo acima fornece detalhes sobre o fluxo de mensagens do Amazon SNS: 
+ O segmento **SNS** representa a duração do percurso de ida e volta da chamada de API `Publish` do cliente.
+ O segmento **myTopic** representa a latência da resposta do Amazon SNS à solicitação de publicação.
+ O subsegmento **SQS** representa o tempo de ida e volta que o Amazon SNS leva para publicar a mensagem em uma fila do Amazon SQS.
+ O tempo entre o segmento **myTopic** e o subsegmento **SQS** representa o tempo que a mensagem passa no sistema do Amazon SNS.

**Example Exemplo de linha do tempo com mensagens em lote do Amazon SNS**  
Se várias mensagens do Amazon SNS forem agrupadas em um único rastreamento, a linha do tempo do segmento exibirá segmentos que representam cada mensagem processada.   

![\[Linha do tempo do segmento para mensagens em lote do Amazon SNS\]](http://docs.aws.amazon.com/pt_br/xray/latest/devguide/images/services-sns-activetracing-batch-timeline.png)


# Amazon SQS e AWS X-Ray
<a name="xray-services-sqs"></a>

O AWS X-Ray integra-se ao Amazon Simple Queue Service (Amazon SQS) para rastrear mensagens que são passadas por uma fila do Amazon SQS. Caso um serviço rastreie solicitações usando o X-Ray SDK, o Amazon SQS pode enviar o cabeçalho de rastreamento e continuar a propagar o rastreamento original do remetente para o consumidor com um ID de rastreamento consistente. Essa continuidade permite que os usuários rastreiem, analisem, e depurem em serviços de downstream.

O AWS X-Ray é compatível com o rastreamento de aplicações orientados a eventos usando o Amazon SQS e o AWS Lambda. Use o console do CloudWatch para ver uma visualização conectada de cada solicitação à medida que ela é enfileirada com o Amazon SQS e processada por uma função do Lambda subsequente. Os rastreamentos dos produtores de mensagens precedentes são automaticamente vinculados aos rastreamentos dos nós consumidores subsequentes do Lambda, criando uma visão completa da aplicação. Para obter mais informações, consulte [Rastrear aplicações orientadas a eventos](xray-tracelinking.md). 

![\[Mapa de serviço do Lambda por meio da fila do Amazon SQS.\]](http://docs.aws.amazon.com/pt_br/xray/latest/devguide/images/console-batch-servicemap-linkededge.png)


O Amazon SQS permite a seguinte instrumentação de cabeçalho de rastreamento:
+ **Cabeçalho HTTP padrão**: o X-Ray SDK preenche automaticamente o cabeçalho de rastreamento como um cabeçalho HTTP quando você chama o Amazon SQS por meio do SDK da AWS. O cabeçalho de rastreamento padrão é carregado por `X-Amzn-Trace-Id` e corresponde a todas as mensagens incluídas em uma solicitação [https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessage.html](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessage.html) ou [https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessageBatch.html](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessageBatch.html). Para saber mais sobre o cabeçalho HTTP padrão, consulte [Cabeçalho de rastreamento](xray-concepts.md#xray-concepts-tracingheader).
+ **Atributo de sistema `AWSTraceHeader`**: o `AWSTraceHeader` é um [atributo de sistema de mensagens](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_MessageSystemAttributeValue.html) reservado pelo Amazon SQS para transportar o cabeçalho de rastreamento do X-Ray com mensagens na fila. O `AWSTraceHeader` está disponível para uso mesmo quando a instrumentação automática por meio do X-Ray SDK não está; por exemplo, ao criar um SDK de rastreamento para uma nova linguagem. Quando ambas as instrumentações de cabeçalho são definidas, o atributo do sistema de mensagens substitui o cabeçalho de rastreamento HTTP.

Quando executado no Amazon EC2, o Amazon SQS permite o processamento de uma mensagem por vez. Isso se aplica quando em execução em um host on-premises e ao usar serviços de contêiner, como o AWS Fargate, o Amazon ECS ou o AWS App Mesh. 

O cabeçalho de rastreamento é excluído das cotas de atributos de mensagem e tamanho de mensagem do Amazon SQS. A habilitação do rastreamento do X-Ray não excederá suas cotas do Amazon SQS. Para saber mais sobre cotas da AWS, consulte [Cotas do Amazon SQS](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-limits.html).

## Enviar o cabeçalho de rastreamento HTTP
<a name="xray-services-sqs-sending"></a>

Os componentes do remetente no Amazon SQS podem enviar o cabeçalho de rastreamento automaticamente por meio da chamada [https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessageBatch.html](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessageBatch.html) ou [https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessage.html](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessage.html). Quando os clientes de SDK da AWS são instrumentados, eles podem ser rastreados automaticamente por todas as linguagens compatíveis por meio do X-Ray SDK. Os Serviços da AWS rastreados e os recursos que você acessa nesses serviços (por exemplo, um bucket do Amazon S3 ou uma fila do Amazon SQS) são exibidos como nós subsequentes no mapa de serviço no console do X-Ray.

Para saber como rastrear chamadas ao SDK da AWS com a linguagem de sua preferência, consulte os seguintes tópicos nos SDKs compatíveis:
+ Go – [Rastreando chamadas AWS do SDK com o X-Ray SDK for Go](xray-sdk-go-awssdkclients.md)
+ Java: [Rastreando chamadas AWS do SDK com o X-Ray SDK for Java](xray-sdk-java-awssdkclients.md)
+ Node.js – [Rastreando chamadas AWS do SDK com o X-Ray SDK para Node.js](xray-sdk-nodejs-awssdkclients.md)
+ Python – [Rastreando chamadas AWS do SDK com o X-Ray SDK para Python](xray-sdk-python-awssdkclients.md)
+ Ruby – [Rastreando chamadas AWS do SDK com o X-Ray SDK for Ruby](xray-sdk-ruby-awssdkclients.md)
+ .NET – [Rastreando chamadas AWS do SDK com o X-Ray SDK for .NET](xray-sdk-dotnet-sdkclients.md)

## Recuperar o cabeçalho de rastreamento e recuperar o contexto de rastreamento
<a name="xray-services-sqs-retrieving"></a>

Se você estiver usando um consumidor subsequente do Lambda, a propagação do contexto de rastreamento será automática. Para dar continuidade à propagação de contexto com os clientes do Amazon SQS, você deverá instrumentar manualmente a transferência para o componente receptor.

Existem três etapas principais para recuperar o contexto de rastreamento:
+ Receber a mensagem da fila para o atributo `AWSTraceHeader` chamando a API [https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ReceiveMessage.html](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ReceiveMessage.html).
+ Recuperar o cabeçalho de rastreamento do atributo.
+ Recuperar o ID de rastreamento do cabeçalho. Opcionalmente, adicione mais métricas ao segmento.

Veja a seguir um exemplo de implementação escrito com o X-Ray SDK para Java.

**Example : Recuperar o cabeçalho de rastreamento e recuperar o contexto de rastreamento**  

```
// Receive the message from the queue, specifying the "AWSTraceHeader"
ReceiveMessageRequest receiveMessageRequest = new ReceiveMessageRequest()
        .withQueueUrl(QUEUE_URL)
        .withAttributeNames("AWSTraceHeader");
List<Message> messages = sqs.receiveMessage(receiveMessageRequest).getMessages();

if (!messages.isEmpty()) {
    Message message = messages.get(0);
    
    // Retrieve the trace header from the AWSTraceHeader message system attribute
    String traceHeaderStr = message.getAttributes().get("AWSTraceHeader");
    if (traceHeaderStr != null) {
        TraceHeader traceHeader = TraceHeader.fromString(traceHeaderStr);

        // Recover the trace context from the trace header
        Segment segment = AWSXRay.getCurrentSegment();
        segment.setTraceId(traceHeader.getRootTraceId());
        segment.setParentId(traceHeader.getParentId());
        segment.setSampled(traceHeader.getSampled().equals(TraceHeader.SampleDecision.SAMPLED));
    }
}
```

# Amazon S3 e AWS X-Ray
<a name="xray-services-s3"></a>

O AWS X-Ray se integra ao Amazon S3 para rastrear solicitações precedentes para atualizar os buckets do S3 da aplicação. Se um serviço rastreia solicitações usando o X-Ray SDK, o Amazon S3 pode enviar os cabeçalhos de rastreamento para assinantes de eventos subsequentes, como o AWS Lambda, o Amazon SQS e o Amazon SNS. O X-Ray permite mensagens de rastreamento para notificações de eventos do Amazon S3.

É possível usar o X-Ray para visualizar o mapa de conexões entre o Amazon S3 e outros serviços que a aplicação usa. Também é possível usar o console para visualizar métricas como a latência média e as taxas de falha. Para obter mais informações sobre como usar o console do X-Ray, consulte [Usar o console do X-Ray](aws-xray-interface-console.md#xray-console).

O Amazon S3 permite a instrumentação de *cabeçalho http padrão*. O X-Ray SDK preenche automaticamente o cabeçalho de rastreamento como um cabeçalho HTTP quando você chama o Amazon S3 por meio do SDK da AWS. O cabeçalho de rastreamento padrão é transportado por `X-Amzn-Trace-Id`. Para saber mais sobre o rastreamento de cabeçalhos, consulte [Cabeçalho de rastreamento](xray-concepts.md#xray-concepts-tracingheader) na página de conceitos. A propagação do contexto de rastreamento do Amazon S3 pode ser utilizada pelos seguintes assinantes: Lambda, SQS e SNS. Como o SQS e o SNS não emitem dados de segmento por conta própria, eles não aparecerão em seu rastreamento ou mapa de serviço quando acionados pelo S3, mesmo que propaguem o cabeçalho de rastreamento para serviços subsequentes.

## Configurar notificações de eventos do Amazon S3
<a name="xray-services-s3-notification"></a>

Com o recurso de notificação do Amazon S3, você recebe notificações quando certos eventos ocorrem no bucket. Essas notificações podem então ser propagadas para os seguintes destinos na aplicação:
+ Amazon Simple Notiﬁcation Service (Amazon SNS)
+ Amazon Simple Queue Service (Amazon SQS)
+ AWS Lambda

Para obter uma lista de eventos aceitos, consulte os [tipos de eventos compatíveis no Guia do usuário do Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html#supported-notification-event-types).

### Amazon SNS e Amazon SQS
<a name="xray-services-s3-notifications-snssqs"></a>

Para publicar notificações em um tópico do SNS ou em uma fila do SQS, primeiro conceda permissões ao Amazon S3. Para conceder essas permissões, anexe uma política do AWS Identity and Access Management (IAM) ao tópico do SNS ou à fila do SQS de destino. Para saber mais sobre as políticas do IAM necessárias, consulte [Conceder permissões para publicar mensagens em um tópico do SNS ou em uma fila do SQS](https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html#grant-sns-sqs-permission-for-s3). 

Para obter informações sobre a integração do SNS e do SQS com o X-Ray, consulte [Amazon SNS e AWS X-Ray](xray-services-sns.md) e [Amazon SQS e AWS X-Ray](xray-services-sqs.md).

### AWS Lambda
<a name="xray-services-s3-notifications-lambda"></a>

Ao usar o console do Amazon S3 para configurar notificações de eventos em um bucket do S3 para uma função do Lambda, o console configurará as permissões necessárias na função do Lambda para que o Amazon S3 tenha as permissões para invocar a função no bucket. Para obter mais informações, consulte [How Do I Enable and Configure Event Notifications for an S3 Bucket?](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/enable-event-notifications.html) no Guia do usuário do Amazon Simple Storage Service.

Você também pode conceder permissões do Amazon S3 do AWS Lambda para invocar a função do Lambda. Para obter mais informações, consulte [Tutorial: Using AWS Lambda with Amazon S3](https://docs.aws.amazon.com/lambda/latest/dg/with-s3-example.html) no Guia do desenvolvedor do AWS Lambda. 

Para obter mais informações sobre a integração do Lambda com o X-Ray, consulte [Instrumentação do código Java no AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/java-tracing.html).

# AWS Distro para OpenTelemetry e AWS X-Ray
<a name="xray-services-adot"></a>

Use o AWS Distro para OpenTelemetry (ADOT) para coletar e enviar métricas e rastreamentos ao AWS X-Ray e outras soluções de monitoramento, como o Amazon CloudWatch, o Amazon OpenSearch Service e o Amazon Managed Service for Prometheus. 

## AWS Distro para OpenTelemetry
<a name="xray-services-adot-intro"></a>

O AWS Distro para OpenTelemetry (ADOT) é uma distribuição da AWS baseada no projeto OpenTelemetry da Cloud Native Computing Foundation (CNCF). O OpenTelemetry fornece um único conjunto de APIs, bibliotecas e agentes de código aberto para coletar métricas e rastreamentos distribuídos. Esse kit de ferramentas é uma distribuição de componentes precedentes do OpenTelemetry, como SDKs, agentes de instrumentação automática e coletores compatíveis com a AWS e testados, otimizados e protegidos por ela. 

Com o ADOT, os engenheiros podem instrumentar as aplicações uma vez e enviar métricas e rastreamentos correlacionados para várias soluções de monitoramento da AWS, como o Amazon CloudWatch, o AWS X-Ray, o Amazon OpenSearch Service e o Amazon Managed Service for Prometheus.

O ADOT é integrado a um número crescente de Serviços da AWS para simplificar o envio de rastreamentos e métricas para soluções de monitoramento, como o X-Ray. Alguns exemplos de serviços integrados ao ADOT incluem: 
+ *AWS Lambda*: as camadas do AWS Lambda gerenciadas para o ADOT fornecem uma experiência de usuário plug-and-play instrumentando automaticamente uma função do Lambda e empacotando o OpenTelemetry com uma configuração pronta para uso para o AWS Lambda e o X-Ray em uma camada fácil de configurar. Os usuários podem habilitar e desabilitar o OpenTelemetry para a função do Lambda sem alterar o código. Para obter mais informações, consulte [AWS Distro for OpenTelemetry Lambda](https://aws-otel.github.io/docs/getting-started/lambda) 
+ *Amazon Elastic Container Service (ECS)*: colete métricas e rastreamentos de aplicações do Amazon ECS usando o coletor AWS Distro para OpenTelemetry para enviá-los ao X-Ray e a outras soluções de monitoramento. Para obter mais informações, consulte [Coleta de dados de rastreamento de aplicações](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/trace-data.html) no Guia do desenvolvedor do Amazon ECS. 
+ *AWS App Runner*: o App Runner comporta o envio de rastreamentos ao X-Ray usando o AWS Distro para OpenTelemetry (ADOT). Use os SDKs do ADOT para coletar dados de rastreamento para aplicações conteinerizadas e use o X-Ray para analisar e obter informações sobre a aplicação instrumentada. Para obter mais informações, consulte [AWS App Runner e X-Ray](xray-services-app-runner.md). 

Para obter mais informações sobre o AWS Distro para OpenTelemetry, bem como sobre a integração com outros Serviços da AWS, consulte a [documentação do AWS Distro para OpenTelemetry](https://aws-otel.github.io/docs/introduction). 

Para obter mais informações sobre a instrumentação da aplicação com o AWS Distro para OpenTelemetry e o X-Ray, consulte [Instrumenting your application with the AWS Distro for OpenTelemetry](xray-instrumenting-your-app.md#xray-instrumenting-opentel). 

# Rastrear as alterações da configuração de criptografia do X-Ray com o AWS Config
<a name="xray-api-config"></a>

O AWS X-Ray se integra ao AWS Config para registrar as alterações de configuração feitas nos recursos de criptografia do X-Ray. Você pode usar o AWS Config para inventariar os recursos de criptografia do X-Ray, auditar o histórico de configuração do X-Ray e enviar notificações com base nas alterações de recursos.

O AWS Config é compatível com o registro em log para as seguintes alterações de recursos de criptografia do X-Ray como eventos:
+ **Alterações de configuração**: alteração ou adição de uma chave de criptografia ou reversão para a configuração de criptografia padrão do X-Ray.

Use as instruções a seguir para saber como criar uma conexão básica entre o X-Ray e o AWS Config. 

## Criar um acionador de função do Lambda
<a name="LambdaFunctionTrigger"></a>

Você precisa ter o ARN de uma função personalizada do AWS Lambda para que possa gerar uma regra personalizada do AWS Config. Siga estas instruções para criar uma função básica com Node.js que retorne um valor, compatível ou não, para o AWS Config com base no estado do recurso `XrayEncryptionConfig`.

**Para criar uma função Lambda com um trigger de alteração de AWS:: XrayEncryptionConfig**

1. Abra o [console do lambda](https://console.aws.amazon.com/lambda/home). Escolha a opção **Criar função**.

1. Selecione **Blueprints (Esquemas)** e, em seguida, filtre a biblioteca de esquemas para o esquema **config-rule-change-triggered**. Clique no link do nome do esquema ou selecione **Configure (Configurar)** para continuar.

1. Defina os seguintes campos para configurar o esquema:
   + Em **Nome**, digite um nome.
   + Para **Role**, selecione **Create new role from template(s)**.
   + Para **Role name**, digite um nome.
   + Em **Policy templates (Modelos de política)**, selecione **AWS Config Rules permissions (Permissões de regras do &CC;)**.

1. Selecione **Create function (Criar função)** para criar e exibir sua função no console do AWS Lambda.

1. Edite o código da função para substituir `AWS::EC2::Instance` por `AWS::XrayEncryptionConfig`. Você também pode atualizar o campo de descrição para refletir essa alteração.

   **Código padrão**

   ```
       if (configurationItem.resourceType !== 'AWS::EC2::Instance') {
           return 'NOT_APPLICABLE';
       } else if (ruleParameters.desiredInstanceType === configurationItem.configuration.instanceType) {
           return 'COMPLIANT';
       }
           return 'NON_COMPLIANT';
   ```

   **Código atualizado**

   ```
       if (configurationItem.resourceType !== 'AWS::XRay::EncryptionConfig') {
           return 'NOT_APPLICABLE';
       } else if (ruleParameters.desiredInstanceType === configurationItem.configuration.instanceType) {
           return 'COMPLIANT';
       }
           return 'NON_COMPLIANT';
   ```

1. Adicione o seguinte ao seu perfil de execução no IAM para acesso ao X-Ray. Essas permissões autorizam o acesso somente leitura aos recursos do X-Ray. Uma falha ao fornecer acesso aos recursos adequados resultará em uma mensagem fora do escopo do AWS Config quando ele avaliar a função do Lambda associada à regra.

   ```
       {
           "Sid": "Stmt1529350291539",
           "Action": [
               "xray:GetEncryptionConfig"
           ],
           "Effect": "Allow",
           "Resource": "*"
        }
   ```

## Criar uma regra do AWS Config personalizada para o X-Ray
<a name="ConfigRule"></a>

Quando a função do Lambda for criada, anote o respectivo ARN e acesse o console do AWS Config para criar uma regra personalizada. 

**Como criar uma regra do AWS Config para o X-Ray**

1. Abra a página [**Regras** de AWS Config do console](https://console.aws.amazon.com/config/home#/rules/view).

1. Selecione **Add rule (Adicionar regra)**e, em seguida, **Add custom rule (Adicionar regra personalizada)**.

1. Em **ARN da função do AWS Lambda**, insira o ARN associado à função do Lambda que você deseja usar.

1. Escolha o tipo de trigger a ser definido:
   + **Alterações de configuração**: o AWS Config aciona a avaliação quando algum recurso que corresponde ao escopo da regra tem sua configuração alterada. A avaliação é executada depois que o AWS Config envia uma notificação de alteração de item de configuração.
   + **Periódico**: AWS Config executa avaliações para a regra em uma frequência definida por você (por exemplo, a cada 24 horas).

1. Em **Tipo de recurso**, escolha **EncryptionConfig** na seção do X-Ray.

1. Selecione ****Salvar****.

O console do AWS Config começará a avaliar a conformidade da regra imediatamente. A avaliação pode demorar alguns minutos para ser concluída.

Agora que essa regra é compatível, o AWS Config pode começar a compilar um histórico de auditoria. O AWS Config registra as alterações de recursos na forma de um cronograma. Para cada alteração na linha do tempo de eventos, o AWS Config gera uma tabela em um formato de/para a fim de mostrar o que foi alterado na representação JSON da chave de criptografia. As duas alterações de campo associadas a EncryptionConfig são `Configuration.type` e `Configuration.keyID`.

## Resultados de exemplo
<a name="Examples"></a>

Veja a seguir um exemplo de uma linha do tempo do AWS Config mostrando as alterações feitas em datas e horários específicos.

![\[Cronograma do AWS Config.\]](http://docs.aws.amazon.com/pt_br/xray/latest/devguide/images/ConfigTimeline.png)


Veja a seguir um exemplo de uma entrada de alteração do AWS Config. O formato de/para ilustra o que foi alterado. Este exemplo mostra que as configurações de criptografia padrão do X-Ray foram alteradas para uma chave de criptografia definida.

![\[Entrada de alteração de configuração de criptografia do X-Ray.\]](http://docs.aws.amazon.com/pt_br/xray/latest/devguide/images/ConfigChanges.png)


## Notificações do Amazon SNS
<a name="SNSNotifs"></a>

Para receber notificação sobre alterações de configuração, configure o AWS Config para publicar notificações do Amazon SNS. Para mais informações, consulte [Monitoramento de AWS Config mudanças de recursos por e-mail](https://docs.aws.amazon.com/config/latest/developerguide/monitoring-resource-changes-by-email.html).

# AWS AppSync e AWS X-Ray
<a name="xray-services-appsync"></a>

Você pode habilitar e rastrear solicitações para o AWS AppSync. Para obter mais informações, consulte [Rastreamento com o AWS X-Ray](https://docs.aws.amazon.com/appsync/latest/devguide/x-ray-tracing.html) para obter instruções.

Quando o rastreamento do X-Ray é habilitado para uma API do AWS AppSync, um [perfil vinculado ao serviço](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html) do AWS Identity and Access Management é criado automaticamente em sua conta com as permissões apropriadas. Isso permite que o AWS AppSync envie rastreamentos para o X-Ray de forma segura.

# Compatibilidade com o rastreamento ativo do Amazon API Gateway para o AWS X-Ray
<a name="xray-services-apigateway"></a>

Você pode usar o X-Ray para rastrear e analisar solicitações do usuário à medida que elas passam pelas APIs do Amazon API Gateway em direção aos serviços subjacentes. O API Gateway comporta o rastreamento do X-Ray para todos os tipos de endpoint do API Gateway: regional, otimizado para borda e privado. Você pode usar o X-Ray com o Amazon API Gateway em todas as Regiões da AWS em que o X-Ray está disponível. Para obter mais informações, consulte [Trace API Gateway API Execution with AWS X-Ray](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-xray.html), no Guia do desenvolvedor do Amazon API Gateway.

**nota**  
O X-Ray só comporta o rastreamento de APIs REST por meio do API Gateway.

O Amazon API Gateway oferece compatibilidade com o [rastreamento ativo](xray-services.md) para o AWS X-Ray. Habilite o rastreamento ativo em seus estágios de API para realizar amostragens das solicitações de entrada e enviar rastreamentos ao X-Ray.

**Para habilitar o rastreamento ativo em um estágio de API**

1. Abra o console do API Gateway em [https://console.aws.amazon.com/apigateway/](https://console.aws.amazon.com/apigateway/). 

1. Escolha uma API.

1. Escolha um estágio.

1. Na guia **Logs/Rastreamento**, escolha **Habilitar rastreamento com X-Ray** e selecione **Salvar alterações**.

1. Escolha **Resources (Recursos)** no painel de navegação à esquerda.

1. Para reimplantar a API com as novas configurações, escolha o menu suspenso **Ações** e selecione **Implantar API**.

O API Gateway usa as regras de amostragem que você define no console do X-Ray para determinar quais solicitações serão registradas. Você pode criar regras que se apliquem apenas às APIs ou que se apliquem somente às solicitações que contenham determinados cabeçalhos. O API Gateway registra cabeçalhos em atributos no segmento, bem como detalhes sobre o estágio e a solicitação. Para obter mais informações, consulte [Configurar regras de amostragem](xray-console-sampling.md).

**nota**  
Ao rastrear APIs REST com a [integração HTTP](https://docs.aws.amazon.com/apigateway/latest/developerguide/setup-http-integrations.html) do API Gateway, o nome do serviço de cada segmento é definido como o caminho do URL da solicitação desde o API Gateway até seu endpoint de integração HTTP, o que resulta em um nó de serviço no mapa de serviço do X-Ray para cada caminho de URL exclusivo. Um grande número de caminhos de URL pode fazer com que o mapa de serviço exceda o limite de dez mil nós, resultando em um erro.  
Para minimizar o número de nós de serviço criados pelo API Gateway, considere a possibilidade de passar parâmetros na string de consulta do URL ou no corpo da solicitação via POST. Qualquer abordagem garantirá que os parâmetros não façam parte do caminho do URL, o que pode resultar em menos caminhos de URL e nós de serviço distintos. 

Para todas as solicitações de entrada, o Gateway da API adiciona um [cabeçalho de rastreamento](xray-concepts.md#xray-concepts-tracingheader) às solicitações HTTP de entrada que ainda não têm um.

```
X-Amzn-Trace-Id: Root=1-5759e988-bd862e3fe1be46a994272793
```

**Formato do ID de rastreamento do X-Ray**

Um `trace_id` do X-Ray consiste em três números separados por hifens. Por exemplo, `1-58406520-a006649127e371903a2de979`. Isso inclui:
+ O número da versão, que é `1`.
+ A hora da solicitação original, em horário epoch Unix, com **8 dígitos hexadecimais**.

  Por exemplo, 10h no dia 1º de dezembro de 2016 PST equivale a `1480615200` segundos em horário epoch ou a `58406520` em dígitos hexadecimais.
+ Um identificador globalmente exclusivo de 96 bits para o rastreamento com **24 dígitos hexadecimais**.

Se o rastreamento ativo estiver desabilitado, o estágio ainda registrará um segmento se a solicitação vier de um serviço que realizou a amostragem da solicitação e iniciou um rastreamento. Por exemplo, uma aplicação web instrumentada pode chamar uma API do API Gateway com um cliente HTTP. Quando você instrumenta um cliente HTTP com o X-Ray SDK, ele adiciona um cabeçalho de rastreamento à solicitação de saída que contém a decisão de amostragem. O API Gateway lê o cabeçalho de rastreamento e cria um segmento para amostras de solicitações.

Se você usar o API Gateway para [gerar um SDK do Java para a API](https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-generate-sdk.html), poderá instrumentar o cliente do SDK adicionando um manipulador de solicitações ao compilador de clientes, da mesma forma que instrumentaria manualmente um cliente do SDK da AWS. Para obter instruções, consulte [Rastreando chamadas AWS do SDK com o X-Ray SDK for Java](xray-sdk-java-awssdkclients.md).

# Amazon EC2 e AWS App Mesh
<a name="xray-services-appmesh"></a>

O AWS X-Ray integra-se ao [AWS App Mesh](https://docs.aws.amazon.com/app-mesh/latest/userguide/what-is-app-mesh.html) para gerenciar proxies Envoy para microsserviços. O App Mesh fornece uma versão do Envoy que você pode configurar para enviar dados de rastreamento ao daemon X-Ray executado em um contêiner da mesma tarefa ou pod. O X-Ray oferece suporte a rastreamento com os seguintes serviços compatíveis com o App Mesh: 
+ Amazon Elastic Container Service (Amazon ECS)
+ Amazon Elastic Kubernetes Service (Amazon EKS)
+ Amazon Elastic Compute Cloud (Amazon EC2)

Use as instruções a seguir para saber como habilitar o rastreamento do X-Ray por meio do App Mesh.

![\[Um mapa de serviços que mostra rastreamentos entre clientes e serviços do App Mesh.\]](http://docs.aws.amazon.com/pt_br/xray/latest/devguide/images/appmesh-traceContents.png)


Para configurar o proxy do Envoy para enviar dados ao X-Ray, defina `ENABLE_ENVOY_XRAY_TRACING` como [variável de ambiente](https://docs.aws.amazon.com/app-mesh/latest/userguide/envoy.html#envoy-config) em sua definição de contêiner.

**nota**  
No momento, a versão App Mesh do Envoy não envia rastreamentos com base nas [regras de amostragem](https://docs.aws.amazon.com/xray/latest/devguide/xray-console-sampling.html) configuradas. Em vez disso, ele usa uma taxa de amostragem fixa de 5% para o Envoy versão 1.16.3 ou mais recente ou uma taxa de amostragem de 50% para versões do Envoy anteriores à 1.16.3. 

**Example Definição de contêiner do Envoy para o Amazon ECS**  

```
{
      "name": "envoy",
      "image": "public.ecr.aws/appmesh/aws-appmesh-envoy:envoy-version",
      "essential": true,
      "environment": [
        {
          "name": "APPMESH_VIRTUAL_NODE_NAME",
          "value": "mesh/myMesh/virtualNode/myNode"
        },
        {
          "name": "ENABLE_ENVOY_XRAY_TRACING",
          "value": "1"
        }
      ],
      "healthCheck": {
        "command": [
          "CMD-SHELL",
          "curl -s http://localhost:9901/server_info | cut -d' ' -f3 | grep -q live"
        ],
        "startPeriod": 10,
        "interval": 5,
        "timeout": 2,
        "retries": 3
      }
```

**nota**  
Para saber mais sobre os endereços de regiões do Envoy disponíveis, consulte [Imagem do Envoy](https://docs.aws.amazon.com/app-mesh/latest/userguide/envoy.html) no Guia do usuário do AWS App Mesh.

Para obter detalhes sobre como executar o daemon do X-Ray em um contêiner, consulte [Executar o daemon do X-Ray no Amazon ECS](xray-daemon-ecs.md). Para ver uma aplicação de exemplo que inclui uma malha de serviços, um microsserviço, o proxy do Envoy e o daemon do X-Ray, implante o exemplo `colorapp` no [Repositório GitHub de exemplos do App Mesh](https://github.com/aws/aws-app-mesh-examples/tree/master/examples).

**Saiba mais**
+ [Conceitos básicos do AWS App Mesh](https://docs.aws.amazon.com/app-mesh/latest/userguide/getting_started.html)
+ [Conceitos básicos do AWS App Mesh e do Amazon ECS](https://docs.aws.amazon.com/app-mesh/latest/userguide/mesh-getting-started-ecs.html)

# AWS App Runner e X-Ray
<a name="xray-services-app-runner"></a>

 O AWS App Runner é um AWS service (Serviço da AWS) que oferece uma maneira rápida, simples e econômica de implantar diretamente em uma aplicação web escalável e segura na Nuvem AWS usando o código-fonte ou uma imagem de contêiner. Você não precisa aprender novas tecnologias, decidir qual serviço de computação usar nem saber como provisionar e configurar os recursos da AWS. Para obter mais informações, consulte [What is AWS App Runner?](https://docs.aws.amazon.com/apprunner/latest/dg/what-is-apprunner.html). 

 O AWS App Runner envia rastreamentos ao X-Ray por meio da integração com o [AWS Distro para OpenTelemetry](xray-services-adot.md) (ADOT). Use os SDKs do ADOT para coletar dados de rastreamento para aplicações conteinerizadas e use o X-Ray para analisar e obter informações sobre a aplicação instrumentada. Para obter mais informações, consulte [Tracing for your App Runner application with X-Ray](https://docs.aws.amazon.com/apprunner/latest/dg/monitor-xray.html). 

# Registrando chamadas da API X-Ray com AWS CloudTrail
<a name="xray-api-cloudtrail"></a>

AWS X-Ray é integrado com [AWS CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html), um serviço que fornece um registro das ações realizadas por um usuário, função ou um AWS service (Serviço da AWS). CloudTrail captura todas as chamadas de API para X-Ray como eventos. As chamadas capturadas incluem as chamadas do console do X-Ray e as chamadas de código para as operações da API do X-Ray. Usando as informações coletadas por CloudTrail, você pode determinar a solicitação que foi feita ao X-Ray, o endereço IP do qual a solicitação foi feita, quando foi feita e detalhes adicionais.

Cada entrada de log ou evento contém informações sobre quem gerou a solicitação. As informações de identidade ajudam a determinar o seguinte:
+ Se a solicitação foi feita com credenciais de usuário raiz ou credenciais de usuário.
+ Se a solicitação foi feita em nome de um usuário do Centro de Identidade do IAM.
+ Se a solicitação foi feita com credenciais de segurança temporárias de um perfil ou de um usuário federado.
+ Se a solicitação foi feita por outro AWS service (Serviço da AWS).

CloudTrail está ativo Conta da AWS quando você cria a conta e você tem acesso automático ao **histórico de CloudTrail eventos**. O **histórico de CloudTrail eventos** fornece um registro visível, pesquisável, baixável e imutável dos últimos 90 dias de eventos de gerenciamento registrados em um. Região da AWS Para obter mais informações, consulte [Trabalhando com o histórico de CloudTrail eventos](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/view-cloudtrail-events.html) no *Guia AWS CloudTrail do usuário*. Não há CloudTrail cobrança pela visualização do **histórico de eventos**.

Para um registro contínuo dos eventos dos Conta da AWS últimos 90 dias, crie uma trilha ou um armazenamento de dados de eventos do [CloudTrailLake](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-lake.html).

**CloudTrail trilhas**  
Uma *trilha* permite CloudTrail entregar arquivos de log para um bucket do Amazon S3. Todas as trilhas criadas usando o Console de gerenciamento da AWS são multirregionais. Só é possível criar uma trilha de região única ou de várias regiões usando a AWS CLI. É recomendável criar uma trilha multirregional porque você captura todas as atividades Regiões da AWS em sua conta. Ao criar uma trilha de região única, é possível visualizar somente os eventos registrados na Região da AWS da trilha. Para obter mais informações sobre trilhas, consulte [Criar uma trilha para a Conta da AWS](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-create-and-update-a-trail.html) e [Criar uma trilha para uma organização](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/creating-trail-organization.html) no *Guia do usuário do AWS CloudTrail *.  
Você pode entregar uma cópia dos seus eventos de gerenciamento em andamento para o bucket do Amazon S3 sem nenhum custo CloudTrail criando uma trilha. No entanto, existem taxas de armazenamento do Amazon S3. Para obter mais informações sobre CloudTrail preços, consulte [AWS CloudTrail Preços](https://aws.amazon.com/cloudtrail/pricing/). Para receber informações sobre a definição de preços do Amazon S3, consulte [Definição de preços do Amazon S3](https://aws.amazon.com/s3/pricing/).

**CloudTrail Armazenamentos de dados de eventos em Lake**  
*CloudTrail O Lake* permite que você execute consultas baseadas em SQL em seus eventos. CloudTrail O Lake converte eventos existentes no formato JSON baseado em linhas para o formato [Apache](https://orc.apache.org/) ORC. O ORC é um formato colunar de armazenamento otimizado para recuperação rápida de dados. Os eventos são agregados em *armazenamentos de dados de eventos*, que são coleções imutáveis de eventos baseados nos critérios selecionados com a aplicação de [seletores de eventos avançados](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-lake-concepts.html#adv-event-selectors). Os seletores que aplicados a um armazenamento de dados de eventos controlam quais eventos persistem e estão disponíveis para consulta. Para obter mais informações sobre o CloudTrail Lake, consulte [Trabalhando com o AWS CloudTrail Lake](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-lake.html) no *Guia AWS CloudTrail do Usuário*.  
CloudTrail Os armazenamentos e consultas de dados de eventos em Lake incorrem em custos. Ao criar um armazenamento de dados de eventos, você escolhe a [opção de preço](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-lake-manage-costs.html#cloudtrail-lake-manage-costs-pricing-option) que deseja usar para ele. A opção de preço determina o custo para a ingestão e para o armazenamento de eventos, e o período de retenção padrão e máximo para o armazenamento de dados de eventos. Para obter mais informações sobre CloudTrail preços, consulte [AWS CloudTrail Preços](https://aws.amazon.com/cloudtrail/pricing/).

**Topics**
+ [Eventos de gerenciamento de raios-X em CloudTrail](#xray-api-cloudtrail-mgmt)
+ [Eventos de dados X-Ray em CloudTrail](#cloudtrail-data-events)
+ [Exemplos de eventos X-Ray](#xray-cloudtrail-examples)

## Eventos de gerenciamento de raios-X em CloudTrail
<a name="xray-api-cloudtrail-mgmt"></a>

AWS X-Ray integra-se com AWS CloudTrail para registrar ações de API feitas por um usuário, uma função ou um AWS service (Serviço da AWS) no X-Ray. Você pode usar CloudTrail para monitorar solicitações da API X-Ray em tempo real e armazenar registros no Amazon S3, Amazon CloudWatch Logs e Amazon CloudWatch Events. O X-Ray suporta o registro das seguintes ações como eventos em arquivos de CloudTrail log:

**Ações de API compatíveis**
+ [https://docs.aws.amazon.com/xray/latest/api/API_PutEncryptionConfig.html](https://docs.aws.amazon.com/xray/latest/api/API_PutEncryptionConfig.html)
+ [https://docs.aws.amazon.com/xray/latest/api/API_GetEncryptionConfig.html](https://docs.aws.amazon.com/xray/latest/api/API_GetEncryptionConfig.html)
+ [https://docs.aws.amazon.com/xray/latest/api/API_CreateGroup.html](https://docs.aws.amazon.com/xray/latest/api/API_CreateGroup.html)
+ [https://docs.aws.amazon.com/xray/latest/api/API_UpdateGroup.html](https://docs.aws.amazon.com/xray/latest/api/API_UpdateGroup.html)
+ [https://docs.aws.amazon.com/xray/latest/api/API_DeleteGroup.html](https://docs.aws.amazon.com/xray/latest/api/API_DeleteGroup.html)
+ [https://docs.aws.amazon.com/xray/latest/api/API_GetGroup.html](https://docs.aws.amazon.com/xray/latest/api/API_GetGroup.html)
+ [https://docs.aws.amazon.com/xray/latest/api/API_GetGroups.html](https://docs.aws.amazon.com/xray/latest/api/API_GetGroups.html)
+ [https://docs.aws.amazon.com/xray/latest/api/API_GetInsight.html](https://docs.aws.amazon.com/xray/latest/api/API_GetInsight.html)
+ [https://docs.aws.amazon.com/xray/latest/api/API_GetInsightEvents.html](https://docs.aws.amazon.com/xray/latest/api/API_GetInsightEvents.html)
+ [https://docs.aws.amazon.com/xray/latest/api/API_GetInsightImpactGraph.html](https://docs.aws.amazon.com/xray/latest/api/API_GetInsightImpactGraph.html)
+ [https://docs.aws.amazon.com/xray/latest/api/API_GetInsightSummaries.html](https://docs.aws.amazon.com/xray/latest/api/API_GetInsightSummaries.html)
+ [https://docs.aws.amazon.com/xray/latest/api/API_GetSamplingStatisticSummaries.html](https://docs.aws.amazon.com/xray/latest/api/API_GetSamplingStatisticSummaries.html)

## Eventos de dados X-Ray em CloudTrail
<a name="cloudtrail-data-events"></a>

[Os eventos de dados](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html#logging-data-events) fornecem informações sobre as operações de recursos realizadas em ou em um recurso (por exemplo [https://docs.aws.amazon.com/xray/latest/api/API_PutTraceSegments.html](https://docs.aws.amazon.com/xray/latest/api/API_PutTraceSegments.html), que carrega documentos do segmento para o X-Ray).

Também são conhecidas como operações de plano de dados. Os eventos de dados costumam ser atividades de alto volume. Por padrão, CloudTrail não registra eventos de dados. O **histórico de CloudTrail eventos** não registra eventos de dados.

Há cobranças adicionais para eventos de dados. Para obter mais informações sobre CloudTrail preços, consulte [AWS CloudTrail Preços](https://aws.amazon.com/cloudtrail/pricing/).

Você pode registrar eventos de dados para os tipos de recursos do X-Ray usando o CloudTrail console ou as operações CloudTrail da API. AWS CLI Para saber mais sobre como registrar eventos de dados em log, consulte [Registrar eventos de dados com o Console de gerenciamento da AWS](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html#logging-data-events-console) e [Registrar eventos de dados com a AWS Command Line Interface](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html#creating-data-event-selectors-with-the-AWS-CLI) no *Guia do usuário do AWS CloudTrail *.

A tabela a seguir lista o tipo de recurso do Amazon S3 para o qual você pode registrar eventos de dados em log. A coluna **Tipo de evento de dados (console)** mostra o valor a ser escolhido na lista **Tipo de evento de dados** no CloudTrail console. A coluna de **valor resources.type** mostra o `resources.type` valor, que você especificaria ao configurar seletores de eventos avançados usando o ou. AWS CLI CloudTrail APIs A CloudTrail coluna **Dados APIs registrados** em mostra as chamadas de API registradas CloudTrail para o tipo de recurso. 


| Tipo de evento de dados (console) | valor resources.type | Dados APIs registrados em CloudTrail | 
| --- | --- | --- | 
| Rastreamentos do X-Ray |  AWS::XRay::Trace  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/xray/latest/devguide/xray-api-cloudtrail.html)  | 

É possível configurar seletores de eventos avançados para filtrar os campos `eventName` e `readOnly` para registrar em log somente os eventos que são importantes para você. No entanto, você não pode selecionar eventos adicionando o seletor de `resources.ARN` campo, porque os traços de X-Ray não têm ARNs. Para saber mais sobre esses campos, consulte [https://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_AdvancedFieldSelector.html](https://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_AdvancedFieldSelector.html) na *Referência de API do AWS CloudTrail *. Veja a seguir um exemplo de como executar o [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudtrail/put-event-selectors.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudtrail/put-event-selectors.html) AWS CLI comando para registrar eventos de dados em uma CloudTrail trilha. Você deve executar o comando ou especificar a região na qual a trilha foi criada; caso contrário, a operação retornará uma `InvalidHomeRegionException` exceção.

```
aws cloudtrail put-event-selectors --trail-name myTrail --advanced-event-selectors \
'{
   "AdvancedEventSelectors": [ 
      {
         "FieldSelectors": [
            { "Field": "eventCategory", "Equals": ["Data"] },
            { "Field": "resources.type", "Equals": ["AWS::XRay::Trace"] },
            { "Field": "eventName", "Equals": ["PutTraceSegments","GetSamplingTargets"] }
         ],
         "Name": "Log X-Ray PutTraceSegments and GetSamplingTargets data events"
      }
   ]
}'
```

## Exemplos de eventos X-Ray
<a name="xray-cloudtrail-examples"></a>

### Exemplos de eventos de gerenciamento
<a name="xray-example-management"></a>

A seguir está um exemplo da entrada de GetEncryptionConfig registro do X-Ray em CloudTrail.

**Example**  

```
{
    "eventVersion"=>"1.05",
    "userIdentity"=>{
        "type"=>"AssumedRole",
        "principalId"=>"AROAJVHBZWD3DN6CI2MHM:MyName",
        "arn"=>"arn:aws:sts::123456789012:assumed-role/MyRole/MyName",
        "accountId"=>"123456789012",
        "accessKeyId"=>"AKIAIOSFODNN7EXAMPLE",
        "sessionContext"=>{
            "attributes"=>{
                "mfaAuthenticated"=>"false",
                "creationDate"=>"2023-7-01T00:24:36Z"
            },
            "sessionIssuer"=>{
                "type"=>"Role",
                "principalId"=>"AROAJVHBZWD3DN6CI2MHM",
                "arn"=>"arn:aws:iam::123456789012:role/MyRole",
                "accountId"=>"123456789012",
                "userName"=>"MyRole"
            }
        }
    },
    "eventTime"=>"2023-7-01T00:24:36Z",
    "eventSource"=>"xray.amazonaws.com",
    "eventName"=>"GetEncryptionConfig",
    "awsRegion"=>"us-east-2",
    "sourceIPAddress"=>"33.255.33.255",
    "userAgent"=>"aws-sdk-ruby2/2.11.19 ruby/2.3.1 x86_64-linux",
    "requestParameters"=>nil,
    "responseElements"=>nil,
    "requestID"=>"3fda699a-32e7-4c20-37af-edc2be5acbdb",
    "eventID"=>"039c3d45-6baa-11e3-2f3e-e5a036343c9f",
    "eventType"=>"AwsApiCall",
    "recipientAccountId"=>"123456789012"
}
```

### Exemplos de dados de eventos
<a name="xray-example-data"></a>

A seguir está um exemplo da entrada do registro de eventos PutTraceSegments de dados do X-Ray em CloudTrail.

**Example**  

```
{
  "eventVersion": "1.09",
  "userIdentity": {
    "type": "AssumedRole",
    "principalId": "AROAWYXPW54Y4NEXAMPLE:i-0dzz2ac111c83zz0z",
    "arn": "arn:aws:sts::012345678910:assumed-role/my-service-role/i-0dzz2ac111c83zz0z",
    "accountId": "012345678910",
    "accessKeyId": "AKIAIOSFODNN7EXAMPLE",
    "sessionContext": {
      "sessionIssuer": {
        "type": "Role",
        "principalId": "AROAWYXPW54Y4NEXAMPLE",
        "arn": "arn:aws:iam::012345678910:role/service-role/my-service-role",
        "accountId": "012345678910",
        "userName": "my-service-role"
      },
      "attributes": {
        "creationDate": "2024-01-22T17:34:11Z",
        "mfaAuthenticated": "false"
      },
      "ec2RoleDelivery": "2.0"
    }
  },
  "eventTime": "2024-01-22T18:22:05Z",
  "eventSource": "xray.amazonaws.com",
  "eventName": "PutTraceSegments",
  "awsRegion": "us-west-2",
  "sourceIPAddress": "198.51.100.0",
  "userAgent": "aws-sdk-ruby3/3.190.0 md/internal ua/2.0 api/xray#1.0.0 os/linux md/x86_64 lang/ruby#2.7.8 md/2.7.8 cfg/retry-mode#legacy",
  "requestParameters": {
    "traceSegmentDocuments": [
      "trace_id:1-00zzz24z-EXAMPLE4f4e41754c77d0000",
      "trace_id:1-00zzz24z-EXAMPLE4f4e41754c77d0000",
      "trace_id:1-00zzz24z-EXAMPLE4f4e41754c77d0001",
      "trace_id:1-00zzz24z-EXAMPLE4f4e41754c77d0002"
    ]
  },
  "responseElements": {
    "unprocessedTraceSegments": []
  },
  "requestID": "5zzzzz64-acbd-46ff-z544-451a3ebcb2f8",
  "eventID": "4zz51z7z-77f9-44zz-9bd7-6c8327740f2e",
  "readOnly": false,
  "resources": [
    {
      "type": "AWS::XRay::Trace"
    }
  ],
  "eventType": "AwsApiCall",
  "managementEvent": false,
  "recipientAccountId": "012345678910",
  "eventCategory": "Data",
  "tlsDetails": {
    "tlsVersion": "TLSv1.2",
    "cipherSuite": "ZZZZZ-RSA-AAA128-GCM-SHA256",
    "clientProvidedHostHeader": "example.us-west-2.xray.cloudwatch.aws.dev"
  }
}
```

# Integração ao CloudWatch para o X-Ray
<a name="xray-services-cloudwatch"></a>

AWS X-RayO se integra ao [CloudWatch Application Signals](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Application-Monitoring-Sections.html), CloudWatch RUM e CloudWatch Synthetics para facilitar o monitoramento da integridade das aplicações. Habilite seu aplicativo para o Application Signals para monitorar e solucionar problemas da integridade operacional dos seus serviços, páginas de clientes, canários do Synthetics e dependências de serviços.

O ServiceLens fornece uma visão completa de seus serviços correlacionando métricas, logs e rastreamentos, para ajudá-lo a identificar rapidamente gargalos de desempenho e identificar usuários atingidos.

Com o CloudWatch RUM, você pode realizar o monitoramento real do usuário para coletar e visualizar dados do lado do cliente sobre a performance da aplicação web com base em sessões reais do usuário praticamente em tempo real. Com o AWS X-Ray e o CloudWatch RUM, você pode analisar e depurar o caminho da solicitação a partir dos usuários finais da aplicação até os serviços subsequentes gerenciados pela AWS. Isso ajuda a identificar tendências e erros de latência que afetam os usuários finais. 

**Topics**
+ [CloudWatch RUM e AWS X-Ray](xray-services-RUM.md)
+ [Depurando canários CloudWatch sintéticos usando X-Ray](xray-services-cloudwatch-synthetics.md)

# CloudWatch RUM e AWS X-Ray
<a name="xray-services-RUM"></a>

Com o Amazon CloudWatch RUM, você pode realizar o monitoramento real do usuário para coletar e visualizar dados do lado do cliente sobre a performance da aplicação web com base em sessões reais do usuário praticamente em tempo real. Com o AWS X-Ray e o CloudWatch RUM, você pode analisar e depurar o caminho da solicitação a partir dos usuários finais da aplicação até os serviços subsequentes gerenciados pela AWS. Isso ajuda a identificar tendências e erros de latência que afetam os usuários finais. 

Depois que você ativa o rastreamento do X-Ray das sessões do usuário, o CloudWatch RUM adiciona um cabeçalho de rastreamento do X-Ray às solicitações HTTP permitidas e registra um segmento do X-Ray para solicitações HTTP permitidas. Você pode visualizar rastreamentos e segmentos dessas sessões de usuário no console do X-Ray e do CloudWatch, incluindo o mapa de serviço do X-Ray. 

**nota**  
O CloudWatch RUM não se integra a regras de amostragem do X-Ray. Em vez disso, escolha uma porcentagem de amostragem ao configurar a aplicação para usar o CloudWatch RUM. Os rastreamentos enviados do CloudWatch RUM podem incorrer em custos adicionais. Para obter mais informações, consulte [Preços do AWS X-Ray](https://aws.amazon.com/xray/pricing/). 

Por padrão, os rastreamentos do lado do cliente enviados do CloudWatch RUM não são conectados a rastreamentos do lado do servidor. Para conectar rastreamentos do lado do cliente com rastreamentos do lado do servidor, configure o cliente da web do CloudWatch RUM para adicionar um cabeçalho de rastreamento do X-Ray a essas solicitações HTTP. 

**Atenção**  
Configurar o cliente da web do CloudWatch RUM para adicionar um cabeçalho de rastreamento do X-Ray a solicitações HTTP pode fazer com que o compartilhamento de recursos de origem cruzada (CORS) falhe. Para evitar isso, adicione o cabeçalho HTTP `X-Amzn-Trace-Id` à lista de cabeçalhos permitidos na configuração do CORS do seu serviço subsequente. Se você estiver usando o API Gateway como serviço subsequente, consulte [Habilitar o CORS para um recurso da API REST](https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-cors.html). É altamente recomendável que você teste sua aplicação antes de adicionar um cabeçalho de rastreamento do X-Ray do lado do cliente em um ambiente de produção. Para obter mais informações, consulte a [ Documentação do cliente da Web do CloudWatch RUM](https://github.com/aws-observability/aws-rum-web/blob/main/docs/cdn_installation.md#http).

Para obter mais informações sobre o monitoramento real de usuários no CloudWatch, consulte [Usar o CloudWatch RUM](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM.html). Para configurar a aplicação para usar o CloudWatch RUM, incluindo o rastreamento de sessões do usuário com o X-Ray, consulte [Configurar uma aplicação para usar o CloudWatch RUM](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM-get-started.html). 

# Depurando canários CloudWatch sintéticos usando X-Ray
<a name="xray-services-cloudwatch-synthetics"></a>

CloudWatch O Synthetics é um serviço totalmente gerenciado que permite monitorar seus endpoints APIs usando canários com script que funcionam 24 horas por dia, uma vez por minuto. 

Você pode personalizar scripts canários para verificar se há alterações em: 
+ Disponibilidade
+ Latência
+ Transações
+ Links quebrados ou inoperantes
+ Step-by-step conclusões de tarefas
+ Erros de carregamento de página
+ Carregar latências para ativos de interface do usuário
+ Fluxos complexos do assistente
+ Fluxos de checkout em seu aplicativo

Os canários seguem as mesmas rotas e executam as mesmas ações e comportamentos que seus clientes, e verificam a experiência do cliente continuamente.

Para saber mais sobre como configurar testes do Synthetics, consulte [Using Synthetics to Create and Manage Canaries](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries.html).

![\[Exemplo de nó canário no mapa de rastreamento do x-ray.\]](http://docs.aws.amazon.com/pt_br/xray/latest/devguide/images/synthetics-show-canary-active.png)


Os exemplos a seguir mostram casos de uso em comum para problemas de depuração que seus canários Synthetics levantam. Cada exemplo demonstra uma estratégia chave para depuração usando o mapa de serviço ou o console do X-Ray Analytics.

Para obter mais informações sobre como ler e interagir com o mapa de serviço, consulte [Exibição do mapa de serviços](https://docs.aws.amazon.com/xray/latest/devguide/xray-console.html#xray-console-servicemap). 

Para obter mais informações sobre como ler e interagir com o console do X-Ray Analytics, consulte [Interagindo com o console do AWS X-Ray Analytics](https://docs.aws.amazon.com/xray/latest/devguide/xray-console-analytics.html). 

**Topics**
+ [Exibir canários com relatórios de erros aumentados no mapa de serviços](#xray-services-cloudwatch-synthetics-workflows-which-canary)
+ [Usar mapas de rastreamento em rastreamentos individuais para exibir cada solicitação detalhadamente](#xray-services-cloudwatch-synthetics-workflows-trace-map)
+ [Determinar a causa raiz de falhas contínuas nos serviços upstream e downstream](#xray-services-cloudwatch-synthetics-workflows-root-cause)
+ [Identificar gargalos e tendências de desempenho](#xray-services-cloudwatch-synthetics-workflows-bottlenecks)
+ [Comparar taxas de latência e erro ou falha antes e depois das alterações](#xray-services-cloudwatch-synthetics-workflows-latency)
+ [Determine a cobertura canária necessária para todos APIs e URLs](#xray-services-cloudwatch-synthetics-workflows-impact)
+ [Usar grupos para se concentrar em testes do Synthetics](#xray-services-cloudwatch-synthetics-groups)

## Exibir canários com relatórios de erros aumentados no mapa de serviços
<a name="xray-services-cloudwatch-synthetics-workflows-which-canary"></a>

 Para ver quais canários têm aumento de erros, falhas, taxas de controle de utilização ou tempos de resposta lentos dentro do mapa de serviço do X-Ray, é possível realçar nós de cliente do canário do Synthetics usando o [filtro](xray-console-filters.md) `Client::Synthetic`. Clicar em um nó exibe a distribuição do tempo de resposta de toda a solicitação. Clicar em uma borda entre dois nós mostra detalhes sobre as solicitações que percorreram aquela conexão. Você também pode visualizar nós inferidos “remotos” para serviços subsequentes relacionados no mapa de serviço. 

Quando você clica no nó Synthetics, há um botão **Visualizar em Synthetics** no painel lateral que redireciona você para o console do Synthetics, onde você pode verificar os detalhes do canário.

![\[Exemplo de nó de canário no mapa de serviço do X-Ray com detalhes de serviço.\]](http://docs.aws.amazon.com/pt_br/xray/latest/devguide/images/synthetics-canary-servicedetail.png)


## Usar mapas de rastreamento em rastreamentos individuais para exibir cada solicitação detalhadamente
<a name="xray-services-cloudwatch-synthetics-workflows-trace-map"></a>

Para determinar qual serviço resulta na maior latência ou está causando um erro, chame o mapa de rastreamento selecionando o rastreamento no mapa de serviço. Os mapas individuais de detalhes de rastreamento exibem o end-to-end caminho de uma única solicitação. Use isso para entender os serviços invocados e visualizar os serviços upstream e downstream.

![\[Exemplo de nó canário no mapa de rastreamento do x-ray.\]](http://docs.aws.amazon.com/pt_br/xray/latest/devguide/images/synthetics-canary-tracemap.png)


## Determinar a causa raiz de falhas contínuas nos serviços upstream e downstream
<a name="xray-services-cloudwatch-synthetics-workflows-root-cause"></a>

Depois de receber um CloudWatch alarme de falhas em um canário Synthetics, use a modelagem estatística em dados de rastreamento no X-Ray para determinar a provável causa raiz do problema no console do X-Ray Analytics. No console do Analytics, a tabela **Causa raiz do tempo de resposta** mostra os caminhos de entidades registrados. O X-Ray determina qual caminho no rastreamento é a causa mais provável do tempo de resposta. O formato indica uma hierarquia de entidades encontradas, terminando em uma causa raiz do tempo de resposta. 

O exemplo a seguir mostra que o teste do Synthetics para a API “XXX” em execução no API Gateway está falhando devido a uma exceção de capacidade de throughput da tabela do Amazon DynamoDB.

![\[Exemplo de nó canário no mapa de rastreamento do x-ray.\]](http://docs.aws.amazon.com/pt_br/xray/latest/devguide/images/synthetics-canary-active-select.png)


![\[Exemplo de causa raiz do nó canário.\]](http://docs.aws.amazon.com/pt_br/xray/latest/devguide/images/synthetics-canary-rootcause.png)


![\[Exemplo de filtro de anotação indicando o nó canário.\]](http://docs.aws.amazon.com/pt_br/xray/latest/devguide/images/synthetics-canary-showannot.png)


## Identificar gargalos e tendências de desempenho
<a name="xray-services-cloudwatch-synthetics-workflows-bottlenecks"></a>

Você pode visualizar tendências no desempenho de seu endpoint ao longo do tempo usando o tráfego contínuo de seus canários Synthetic para preencher um mapa de rastreamento durante um período de tempo. 

![\[Exemplo de filtro de anotação indicando o nó canário.\]](http://docs.aws.amazon.com/pt_br/xray/latest/devguide/images/synthetics-canary-distribution.png)


## Comparar taxas de latência e erro ou falha antes e depois das alterações
<a name="xray-services-cloudwatch-synthetics-workflows-latency"></a>

Identifique a hora em que ocorreu uma alteração para correlacionar essa alteração com um aumento de problemas capturados por seus canários. Use o console do X-Ray Analytics para definir os intervalos de tempo anteriores e posteriores como diferentes conjuntos de rastreamento, criando uma diferenciação visual na distribuição do tempo de resposta.

![\[Exemplo de filtro de anotação indicando o nó canário.\]](http://docs.aws.amazon.com/pt_br/xray/latest/devguide/images/synthetics-canary-compare.png)


## Determine a cobertura canária necessária para todos APIs e URLs
<a name="xray-services-cloudwatch-synthetics-workflows-impact"></a>

 Use o X-Ray Analytics para comparar a experiência de canários com os usuários. A interface do usuário abaixo mostra uma linha de tendência azul para canários e uma linha verde para os usuários. Você também pode identificar que dois dos três URLs não têm testes de canário.

![\[Exemplo de filtro de anotação indicando o nó canário.\]](http://docs.aws.amazon.com/pt_br/xray/latest/devguide/images/synthetics-canary-vs-customer.png)


## Usar grupos para se concentrar em testes do Synthetics
<a name="xray-services-cloudwatch-synthetics-groups"></a>

 Você pode criar um grupo do X-Ray usando uma expressão de filtro para se concentrar em determinado conjunto de fluxos de trabalho, como testes do Synthetics para a aplicação “www” em execução no AWS Elastic Beanstalk. Use [palavras-chave complexas](xray-console-filters.md#console-filters-complex) `service()` e `edge()` para filtrar serviços e bordas.

**Example Expressão do filtro de grupo**  

```
"edge(id(name: "www", type: "client::Synthetics"), id(name: "www", type: "AWS::ElasticBeanstalk::Environment"))" 
```

![\[Exemplo de nós para o Elastic Beanstalk www.\]](http://docs.aws.amazon.com/pt_br/xray/latest/devguide/images/synthetics-canary-active-www.png)


# AWS Elastic Beanstalk and AWS X-Ray
<a name="xray-services-beanstalk"></a>

**nota**  
Aviso de SDK/Daemon manutenção do X-Ray — Em 25 de fevereiro de 2026, o AWS X-Ray SDKs/Daemon entrará no modo de manutenção, onde AWS limitará as versões do X-Ray SDK e do Daemon para tratar apenas de problemas de segurança. Para obter mais informações sobre a linha do tempo do suporte, consulte [Cronograma de suporte do X-Ray SDK e do Daemon Support](xray-sdk-daemon-timeline.md). Recomendamos migrar para o. OpenTelemetry Para obter mais informações sobre a migração para OpenTelemetry, consulte [Migrando da instrumentação X-Ray para a instrumentação](https://docs.aws.amazon.com/xray/latest/devguide/xray-sdk-migration.html). OpenTelemetry 

AWS Elastic Beanstalk as plataformas incluem o daemon X-Ray. Você pode [executar o daemon](xray-daemon-beanstalk.md) definindo uma opção no console do Elastic Beanstalk ou com um arquivo de configuração.

Na plataforma Java SE, você pode usar um arquivo Buildfile para criar seu aplicativo com Maven ou Gradle na instância. O X-Ray SDK for Java AWS SDK para Java está disponível no Maven, para que você possa implantar somente o código do seu aplicativo e criar na instância para evitar agrupar e carregar todas as suas dependências.

Você pode usar as propriedades do ambiente do Elastic Beanstalk para configurar o X-Ray SDK. O método que o Elastic Beanstalk usa para passar as propriedades do ambiente para a aplicação varia de acordo com a plataforma. Use as variáveis de ambiente do X-Ray SDK ou as propriedades do sistema de acordo com sua plataforma.
+ **[Plataforma Node.js](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_nodejs.container.html)**: use [variáveis de ambiente](xray-sdk-nodejs-configuration.md#xray-sdk-nodejs-configuration-envvars).
+ **[Plataforma Java SE](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/java-se-platform.html)**: use [variáveis de ambiente](xray-sdk-java-configuration.md#xray-sdk-java-configuration-envvars).
+ **[Plataforma Tomcat](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/java-tomcat-platform.html)**: use [propriedades do sistema](xray-sdk-java-configuration.md#xray-sdk-java-configuration-sysprops).

Para obter mais informações, consulte [Configurando a AWS X-Ray depuração](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/environment-configuration-debugging.html) no Guia do desenvolvedor. AWS Elastic Beanstalk 

# Elastic Load Balancing e AWS X-Ray
<a name="xray-services-elb"></a>

Os Application Load Balancers do Elastic Load Balancing adicionam um ID de rastreamento às solicitações HTTP de entrada em um cabeçalho chamado `X-Amzn-Trace-Id`.

```
X-Amzn-Trace-Id: Root=1-5759e988-bd862e3fe1be46a994272793
```

**Formato do ID de rastreamento do X-Ray**

Um `trace_id` do X-Ray consiste em três números separados por hifens. Por exemplo, .`1-58406520-a006649127e371903a2de979` Isso inclui:
+ O número da versão, que é `1`.
+ A hora da solicitação original, em horário epoch Unix, com **8 dígitos hexadecimais**.

  Por exemplo, 10h no dia 1º de dezembro de 2016 PST equivale a `1480615200` segundos em horário epoch ou a `58406520` em dígitos hexadecimais.
+ Um identificador globalmente exclusivo de 96 bits para o rastreamento com **24 dígitos hexadecimais**.

Os balanceadores de carga não enviam dados ao X-Ray e não são exibidos como um nó em seu mapa de serviço.

Para mais informações, consulte [Solicitar rastreamento para seu Application Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-request-tracing.html) no Guia do desenvolvedor do Elastic Load Balancing.

# Amazon EventBridge e AWS X-Ray
<a name="xray-services-eventbridge"></a>

AWS X-Ray se integra à Amazon EventBridge para rastrear eventos que são transmitidos EventBridge. [Se um serviço que é instrumentado com o X-Ray SDK envia eventos para EventBridge, o contexto de rastreamento é propagado para destinos de eventos downstream dentro do cabeçalho de rastreamento.](xray-concepts.md#xray-concepts-tracingheader) O X-Ray SDK pega automaticamente o cabeçalho de rastreamento e o aplica a qualquer instrumentação subsequente. Essa continuidade permite que os usuários rastreiem, analisem e depurem todos os serviços subsequentes e oferece uma visão mais completa do sistema. 

Para obter mais informações, consulte [EventBridge X-Ray Integration](https://docs.aws.amazon.com//eventbridge/latest/userguide/eb-xray-integ.html) no *Guia EventBridge do usuário*.

## Visualizar a origem e os destinos no mapa de serviço do X-Ray
<a name="xray-services-eventbridge-service-map"></a>

O [mapa de rastreamento](xray-console-servicemap.md) X-Ray exibe um nó de EventBridge evento que conecta os serviços de origem e destino, como no exemplo a seguir:

![\[X-Ray exibe um nó de EventBridge eventos que conecta os serviços de origem e destino\]](http://docs.aws.amazon.com/pt_br/xray/latest/devguide/images/service-map-eventbridge.png)


## Propagar o contexto de rastreamento para destinos de eventos
<a name="xray-services-eventbridge-auto-inject"></a>

O X-Ray SDK permite que a fonte do EventBridge evento propague o contexto de rastreamento para destinos de eventos posteriores. Os exemplos específicos da linguagem a seguir demonstram a chamada EventBridge de uma função Lambda na qual o rastreamento [ativo](https://docs.aws.amazon.com//lambda/latest/dg/services-xray.html#services-xray-api) está habilitado:

------
#### [ Java ]

Adicione as dependências necessárias para o X-Ray:
+ [AWS X-Ray SDK para Java](https://mvnrepository.com/artifact/com.amazonaws/aws-java-sdk-xray/)
+ [AWS X-Ray SDK do gravador para Java](https://mvnrepository.com/artifact/com.amazonaws/aws-xray-recorder-sdk-aws-sdk/)

```
package example;

import com.amazonaws.services.lambda.runtime.Context;
import com.amazonaws.services.lambda.runtime.RequestHandler;
import com.amazonaws.services.lambda.runtime.events.SQSEvent;
import com.amazonaws.xray.AWSXRay;
import com.amazonaws.services.eventbridge.AmazonEventBridge;
import com.amazonaws.services.eventbridge.AmazonEventBridgeClientBuilder;
import com.amazonaws.services.eventbridge.model.PutEventsRequest;
import com.amazonaws.services.eventbridge.model.PutEventsRequestEntry;
import com.amazonaws.services.eventbridge.model.PutEventsResult;
import com.amazonaws.services.eventbridge.model.PutEventsResultEntry;
import com.amazonaws.xray.handlers.TracingHandler;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.lang.StringBuilder;
import java.util.Map;
import java.util.List;
import java.util.Date;
import java.util.Collections;

/*
   Add the necessary dependencies for XRay:
   https://mvnrepository.com/artifact/com.amazonaws/aws-java-sdk-xray
   https://mvnrepository.com/artifact/com.amazonaws/aws-xray-recorder-sdk-aws-sdk
*/
public class Handler implements RequestHandler<SQSEvent, String>{
  private static final Logger logger = LoggerFactory.getLogger(Handler.class);

  /*
    build EventBridge client
  */
  private static final AmazonEventBridge eventsClient = AmazonEventBridgeClientBuilder
          .standard()
          // instrument the EventBridge client with the XRay Tracing Handler.
          // the AWSXRay globalRecorder will retrieve the tracing-context 
          // from the lambda function and inject it into the HTTP header.
          // be sure to enable 'active tracing' on the lambda function.
          .withRequestHandlers(new TracingHandler(AWSXRay.getGlobalRecorder()))
          .build();

  @Override
  public String handleRequest(SQSEvent event, Context context)
  {
    PutEventsRequestEntry putEventsRequestEntry0 = new PutEventsRequestEntry();
    putEventsRequestEntry0.setTime(new Date());
    putEventsRequestEntry0.setSource("my-lambda-function");
    putEventsRequestEntry0.setDetailType("my-lambda-event");
    putEventsRequestEntry0.setDetail("{\"lambda-source\":\"sqs\"}");
    PutEventsRequest putEventsRequest = new PutEventsRequest();
    putEventsRequest.setEntries(Collections.singletonList(putEventsRequestEntry0));
    // send the event(s) to EventBridge
    PutEventsResult putEventsResult = eventsClient.putEvents(putEventsRequest);
    try {
      logger.info("Put Events Result: {}", putEventsResult);
    } catch(Exception e) {
      e.getStackTrace();
    }
    return "success";
  }
}
```

------
#### [ Python ]

 Adicione a seguinte dependência ao arquivo requirements.txt: 

```
aws-xray-sdk==2.4.3        
```

```
import boto3
from aws_xray_sdk.core import xray_recorder
from aws_xray_sdk.core import patch_all

# apply the XRay handler to all clients.
patch_all()

client = boto3.client('events')

def lambda_handler(event, context):
    response = client.put_events(
        Entries=[
            {
                'Source': 'foo',
                'DetailType': 'foo',
                'Detail': '{\"foo\": \"foo\"}'
            },
        ]
    )
    return response
```

------
#### [ Go ]

```
package main

import (
  "context"
  "github.com/aws/aws-lambda-go/lambda"
  "github.com/aws/aws-lambda-go/events"
  "github.com/aws/aws-sdk-go/aws/session"
  "github.com/aws/aws-xray-sdk-go/xray"
  "github.com/aws/aws-sdk-go/service/eventbridge"
  "fmt"
)

var client = eventbridge.New(session.New())


func main() {
 //Wrap the eventbridge client in the AWS XRay tracer
  xray.AWS(client.Client)
  lambda.Start(handleRequest)
}

func handleRequest(ctx context.Context, event events.SQSEvent) (string, error) {
  _, err := callEventBridge(ctx)
  if err != nil {
    return "ERROR", err
  }
  return "success", nil
}


func callEventBridge(ctx context.Context) (string, error) {
    entries := make([]*eventbridge.PutEventsRequestEntry, 1)
    detail := "{ \"foo\": \"foo\"}"
    detailType := "foo"
    source := "foo"
    entries[0] = &eventbridge.PutEventsRequestEntry{
        Detail: &detail,
        DetailType: &detailType,
        Source: &source,
    }

  input := &eventbridge.PutEventsInput{
     Entries: entries,
  }

  // Example sending a request using the PutEventsRequest method.
  resp, err := client.PutEventsWithContext(ctx, input)

  success := "yes"
  if err == nil { // resp is now filled
      success = "no"
      fmt.Println(resp)
  }
  return success, err
}
```

------
#### [ Node.js ]

```
const AWSXRay = require('aws-xray-sdk')
//Wrap the aws-sdk client in the AWS XRay tracer
const AWS = AWSXRay.captureAWS(require('aws-sdk'))
const eventBridge = new AWS.EventBridge()

exports.handler = async (event) => {

  let myDetail = { "name": "Alice" }

  const myEvent = { 
    Entries: [{
      Detail: JSON.stringify({ myDetail }),
      DetailType: 'myDetailType',
      Source: 'myApplication',
      Time: new Date
    }]
  }

  // Send to EventBridge
  const result = await eventBridge.putEvents(myEvent).promise()

  // Log the result
  console.log('Result: ', JSON.stringify(result, null, 2))

}
```

------
#### [ C\$1 ]

 Adicione os seguintes pacotes do X-Ray às dependências do C\$1: 

```
<PackageReference Include="AWSXRayRecorder.Core" Version="2.6.2" />
<PackageReference Include="AWSXRayRecorder.Handlers.AwsSdk" Version="2.7.2" />
```

```
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Amazon;
using Amazon.Util;
using Amazon.Lambda;
using Amazon.Lambda.Model;
using Amazon.Lambda.Core;
using Amazon.EventBridge;
using Amazon.EventBridge.Model;
using Amazon.Lambda.SQSEvents;
using Amazon.XRay.Recorder.Core;
using Amazon.XRay.Recorder.Handlers.AwsSdk;
using Newtonsoft.Json;
using Newtonsoft.Json.Serialization;

[assembly: LambdaSerializer(typeof(Amazon.Lambda.Serialization.Json.JsonSerializer))]

namespace blankCsharp
{
  public class Function
  {
    private static AmazonEventBridgeClient eventClient;

    static Function() {
      initialize();
    }

    static async void initialize() {
      //Wrap the AWS SDK clients in the AWS XRay tracer
      AWSSDKHandler.RegisterXRayForAllServices();
      eventClient = new AmazonEventBridgeClient();
    }

    public async Task<PutEventsResponse> FunctionHandler(SQSEvent invocationEvent, ILambdaContext context)
    {
      PutEventsResponse response;
      try
      {
        response = await callEventBridge();
      }
      catch (AmazonLambdaException ex)
      {
        throw ex;
      }

      return response;
    }

    public static async Task<PutEventsResponse> callEventBridge()
    {
      var request = new PutEventsRequest();
      var entry = new PutEventsRequestEntry();
      entry.DetailType = "foo";
      entry.Source = "foo";
      entry.Detail = "{\"instance_id\":\"A\"}";
      List<PutEventsRequestEntry> entries = new List<PutEventsRequestEntry>();
      entries.Add(entry);
      request.Entries = entries;
      var response = await eventClient.PutEventsAsync(request);
      return response;
    }
  }
}
```

------

# AWS Lambda and AWS X-Ray
<a name="xray-services-lambda"></a>

**nota**  
Aviso de SDK/Daemon manutenção do X-Ray — Em 25 de fevereiro de 2026, o AWS X-Ray SDKs/Daemon entrará no modo de manutenção, onde AWS limitará as versões do X-Ray SDK e do Daemon para tratar apenas de problemas de segurança. Para obter mais informações sobre a linha do tempo do suporte, consulte [Cronograma de suporte do X-Ray SDK e do Daemon Support](xray-sdk-daemon-timeline.md). Recomendamos migrar para o. OpenTelemetry Para obter mais informações sobre a migração para OpenTelemetry, consulte [Migrando da instrumentação X-Ray para a instrumentação](https://docs.aws.amazon.com/xray/latest/devguide/xray-sdk-migration.html). OpenTelemetry 

Você pode usar AWS X-Ray para rastrear suas AWS Lambda funções. O Lambda executa o [daemon do X-Ray](xray-daemon.md) e registra um segmento com detalhes sobre como invocar e executar a função. Para ampliar a instrumentação, você pode empacotar o X-Ray SDK com sua função para registrar chamadas de saída e adicionar anotações e metadados.

Se a função do Lambda for chamada por outro serviço instrumentado, o Lambda rastreará as solicitações que já foram amostradas sem nenhuma configuração adicional. O serviço precedente pode ser uma aplicação web instrumentada ou outra função do Lambda. Seu serviço pode invocar a função diretamente com um cliente AWS SDK instrumentado ou chamando uma API do API Gateway com um cliente HTTP instrumentado.

AWS X-Ray suporta o rastreamento de aplicativos orientados por eventos usando o Amazon AWS Lambda SQS. Use o CloudWatch console para ver uma visão conectada de cada solicitação conforme ela é enfileirada com o Amazon SQS e processada por uma função Lambda downstream. Os rastreamentos dos produtores de mensagens upstream são automaticamente vinculados aos rastreamentos dos nós consumidores do Lambda downstream, criando uma end-to-end visão do aplicativo. Para obter mais informações, consulte [Rastrear aplicativos orientadas a eventos](xray-tracelinking.md). 

**nota**  
Se você tiver rastreamentos habilitados para uma função Lambda downstream, também deverá habilitar rastreamentos para a função Lambda raiz que chama a função downstream para que a função downstream gere rastreamentos.

Se a função do Lambda for executada de acordo com uma programação ou invocada por um serviço que não está instrumentado, você poderá configurar o Lambda para coletar amostras e registrar invocações por meio do rastreamento ativo.

**Para configurar a integração do X-Ray em uma AWS Lambda função**

1. Abra o [console do AWS Lambda](https://console.aws.amazon.com/lambda).

1. Selecione **Funções** no painel de navegação à esquerda.

1. Escolha a função.

1. Na guia **Configuração**, role para baixo até o cartão **Ferramentas adicionais de monitoramento**. Você também pode encontrar esse cartão selecionando **Ferramentas de monitoramento e operações** no painel de navegação esquerdo.

1. Selecione **Editar**.

1. Em **AWS X-Ray**, habilite o **Rastreamento ativo**.

Em runtimes com um X-Ray SDK correspondente, o Lambda também executa o daemon do X-Ray.

**X-Ray SDKs em Lambda**
+ **X-Ray SDK para Go**: Go 1.7 e runtimes mais recentes
+ **X-Ray SDK para Java**: runtime Java 8
+ **X-Ray SDK para Node.js**: Node.js 4.3 e runtimes mais recentes
+ **X-Ray SDK para Python**: Python 2.7, Python 3.6 e runtimes mais novos
+ **X-Ray SDK para .NET**: .NET Core 2.0 e runtimes mais recentes

Para usar o X-Ray SDK no Lambda, empacote-o com o código da função toda vez que você criar uma versão. É possível instrumentar as funções do Lambda com os mesmos métodos usados para instrumentar aplicações em execução em outros serviços. A principal diferença é que você não usa o SDK para instrumentar solicitações de entrada, tomar decisões de amostragem e criar segmentos.

A outra diferença entre a instrumentação de funções do Lambda e de aplicações web é que o segmento criado pelo Lambda e enviado para o X-Ray não pode ser modificado pelo código da função. Você pode criar subsegmentos e gravar anotações e metadados neles, mas não é possível adicionar anotações e metadados ao segmento pai.

Para obter mais informações, consulte [Usar o AWS X-Ray](https://docs.aws.amazon.com/lambda/latest/dg/lambda-x-ray.html) no *Guia do desenvolvedor do AWS Lambda *.

# AWS Step Functions e AWS X-Ray
<a name="xray-services-stepfunctions"></a>

O AWS X-Ray se integra ao AWS Step Functions para rastrear e analisar solicitações para o Step Functions. Você pode visualizar os componentes da aplicação, identificar gargalos de performance e solucionar problemas de solicitações que resultaram em um erro. Para obter mais informações, consulte [AWS X-Ray e Step Functions ](https://docs.aws.amazon.com/step-functions/latest/dg/concepts-xray-tracing.html) no Guia do desenvolvedor do AWS Step Functions.

**Como habilitar o rastreamento do X-Ray ao criar uma máquina de estado**

1. Abra o console do Step Functions em [https://console.aws.amazon.com/states/](https://console.aws.amazon.com/states/).

1. Selecione **Criar máquina de estado**.

1. Na página **Definir máquina de estado**, selecione **Criar com trechos de código**. Se você optar por executar um projeto de exemplo, não poderá habilitar o rastreamento do X-Ray durante a criação. Em vez disso, habilite o rastreamento do X-Ray depois que criar a máquina de estado.

1. Escolha **Próximo**.

1. Na página **Especificar detalhes**, configure a máquina de estado.

1. Escolha **Habilitar rastreamento do X-Ray**.

**Como habilitar o rastreamento do X-Ray em uma máquina de estado existente**

1. No console do Step Functions, selecione a máquina de estado para a qual você deseja habilitar o rastreamento.

1. Escolha **Editar**.

1. Escolha **Ativar rastreamento do X-Ray**.

1. (Opcional) Gere automaticamente um novo perfil para sua máquina de estado para incluir permissões do X-Ray escolhendo **Criar novo perfil** na janela Permissões.  
![\[Permissions section with options to create a new role, choose existing, or enter ARN.\]](http://docs.aws.amazon.com/pt_br/xray/latest/devguide/images/stepfunctions-permissions.png)

1. Escolha **Salvar**.

**nota**  
Quando você cria uma nova máquina de estado, ela é rastreada automaticamente se a solicitação for amostrada e o rastreamento estiver habilitado em um serviço precedente, como o Amazon API Gateway ou o AWS Lambda. Para qualquer máquina de estado existente não configurada por meio do console (por exemplo, por meio de um modelo do CloudFormation), verifique se você tem uma política do IAM que conceda permissões suficientes para habilitar rastreamentos do X-Ray.