- Ferramentas do desenvolvedor›
- AWS X-Ray›
- Perguntas frequentes
Perguntas frequentes sobre o AWS X-Ray
Tópicos da página
GeralGeral
O que é o AWS X-Ray?
O AWS X-Ray ajuda desenvolvedores a analisar e depurar aplicações distribuídas de produção, como as criadas usando uma arquitetura de microsserviços. Com o X-Ray, é possível entender o desempenho da aplicação e dos seus serviços subjacentes para identificar e solucionar problemas e erros de desempenho. O X-Ray disponibiliza uma visualização completa sobre as solicitações, conforme elas percorrem o aplicativo, além de mostrar um mapa dos componentes subjacentes do aplicativo. É possível usar o X-Ray para analisar as aplicações em desenvolvimento e em produção, abrangendo de simples aplicações de três camadas a aplicações complexas de microsserviços compostas por milhares de serviços.
Por que usar o X-Ray?
No momento, se você criar e executar aplicações distribuídas, terá de contar com um processo por serviço e por recurso para rastrear solicitações da aplicação conforme elas percorrem os vários componentes que constituem a aplicação. Este problema torna-se ainda mais complicado devido aos formatos de log variáveis e às mídias de armazenamento entre as estruturas, os serviços e os recursos executados ou usados pela aplicação. Isso dificulta a correlação entre as várias partes dos dados e a criação de um panorama completo de uma solicitação desde o momento em que ela é originada no ambiente do usuário final ou do serviço até quando uma resposta é retornada pela aplicação. O X-Ray disponibiliza um modelo centrado em usuários, em vez do modelo centrado em serviços ou recursos, para coletar dados relacionados a solicitações feitas para a aplicação. Esse modelo permite criar um panorama centrado em usuários das solicitações conforme elas percorrem serviços e recursos. Ao correlacionar e agregar dados automaticamente, o X-Ray possibilita o foco em melhorias na experiência de usuários finais da aplicação.
O que é possível fazer com o X-Ray?
O X-Ray facilita o seguinte:
- Criar um mapa de serviços: ao rastrear solicitações feitas nas aplicações, o X-Ray pode criar um mapa dos serviços usados pela aplicação. Isso disponibiliza uma visualização das conexões entre os serviços na aplicação e permite criar uma árvore de dependências, detectar latência ou erros durante o trabalho entre zonas de disponibilidade ou regiões da AWS, focar nos serviços que não estão operando conforme o esperado, etc.
- Identificar erros e bugs: o X-Ray pode destacar automaticamente bugs ou erros no código da aplicação ao analisar o código de resposta para cada solicitação feita na aplicação. Isso permite a depuração fácil do código da aplicação sem exigir que o erro ou o bug seja reproduzido.
- Criar suas próprias aplicações de análise e visualização: o X-Ray disponibiliza um conjunto de APIs de consulta que pode ser usado para criar aplicações de análise e visualização que usam os dados que o X-Ray grava.
Principais conceitos
O que é um rastreamento?
Um rastreamento do X-Ray é um conjunto de pontos de dados que compartilham o mesmo ID de rastreamento. Por exemplo, quando um cliente faz uma solicitação para a sua aplicação, é atribuído a ele um ID exclusivo de rastreamento. Enquanto a solicitação percorre os serviços na sua aplicação, os serviços transmitem informações sobre a solicitação de volta para o X-Ray usando esse ID exclusivo de rastreamento. A informação transmitida por cada serviço na aplicação para o X-Ray é um segmento e um rastreamento é um conjunto de segmentos.
O que é um segmento?
Um segmento do X-Ray engloba todos os pontos de dados de um único componente (por exemplo, um serviço de autorização) da aplicação distribuída. Os segmentos incluem dados definidos pelo sistema e pelo usuário na forma de anotações compostas de um ou mais subsegmentos que representam chamadas remotas feitas do serviço. Por exemplo, quando a aplicação cria uma chamada para um banco de dados em resposta a uma solicitação, ela cria um segmento para essa solicitação com um subsegmento que representa a chamada do banco de dados e o seu resultado. O subsegmento pode conter dados como a consulta, a tabela usada, o carimbo de data/hora e o status de erro.
O que é uma anotação?
Uma anotação do X-Ray são dados definidos pelo sistema ou pelo usuário associados a um segmento. Um segmento pode conter várias anotações. As anotações definidas pelo sistema incluem dados adicionados ao segmento pelos Serviços da AWS e as anotações definidas pelo usuário são metadados adicionados a um segmento por um desenvolvedor. Por exemplo, um segmento criado pela aplicação pode automaticamente ser injetado com dados regionais para chamadas de Serviço da AWS, por outro lado recomendamos que você mesmo adicione os dados da região para chamadas feitas para serviços que não são da AWS.
O que são erros?
Os erros do X-Ray são anotações do sistema associadas a um segmento para uma chamada que resulta em uma resposta de erro. O erro inclui a mensagem de erro, o rastreamento da pilha e qualquer informação adicional (por exemplo, ID de versão ou confirmação) para associar o erro a um arquivo de origem.
O que é amostragem?
Para disponibilizar uma experiência econômica e com bom desempenho, o X-Ray não coleta dados para toda solicitação enviada para uma aplicação. Em vez disso, ele coleta dados para um número estatisticamente significativo de solicitações. O X-Ray não deve ser usado como uma ferramenta de auditoria ou conformidade, pois ela não garante a integralidade dos dados.
O que é o daemon do X-Ray?
O daemon do X-Ray coleta rastreamentos e os envia para o serviço do X-Ray para agregação, análise e armazenamento. O daemon facilita o envio de dados para o serviço do X-Ray, em vez de usar as APIs diretamente.
Como usar o AWS X-Ray
Como começar a usar o X-Ray?
É possível começar a usar o X-Ray ao incluir o SDK de linguagem do X-Ray na aplicação e instalar o daemon do X-Ray. Para obter mais informações, consulte o guia do usuário do X-Ray.
Quais tipos de aplicações podem ser usados com o X-Ray?
O X-Ray pode ser usado com aplicações distribuídas de qualquer tamanho para rastrear e depurar solicitações síncronas e eventos assíncronos. Por exemplo, o X-Ray pode ser usado para rastrear solicitações web feitas para uma aplicação web ou eventos assíncronos que usam as filas do Amazon SQS.
Quais serviços da AWS podem ser usados com o X-Ray?
É possível usar o X-Ray com aplicativos em execução no EC2, ECS, Lambda, Amazon SQS, Amazon SNS e Elastic Beanstalk. Além disso, o X-Ray SDK captura automaticamente os metadados das chamadas de API feitas para os serviços da AWS usando o AWS SDK. O X-Ray SDK também disponibiliza add-ons para drivers MySQL e PostgreSQL.
Quais alterações de código são necessárias para que a aplicação use o X-Ray?
Se o Elastic Beanstalk estiver sendo usado, será necessário incluir as bibliotecas do X-Ray específicas da linguagem no código da aplicação. Para aplicações executadas em outros serviços da AWS, como o EC2 ou ECS, será necessário instalar o daemon do X-Ray e instrumentar o código da aplicação.
O X-Ray disponibiliza uma API?
Sim. O X-Ray disponibiliza um conjunto de APIs para ingestão de dados de solicitação, consulta de rastreamentos e configuração de serviços. É possível usar a API do X-Ray para criar aplicações de análise e visualização além das que são disponibilizadas pelo X-Ray.
O AWS X-Ray registra eventos no AWS CloudTrail?
Sim. O X-Ray registra todas as chamadas de API como eventos de gerenciamento. Ele também registra chamadas em rastreamentos como eventos de dados, inclusive em PutTraceSegments e GetTimeSeriesServiceStatistics, entre outras APIs. Os eventos de dados não são registrados por padrão. Para registrar eventos de dados, você deve configurar sua trilha ou armazenamento de dados de eventos do CloudTrail para coletá-los.
Regiões
Em quais regiões o X-Ray está disponível?
Consulte Produtos e serviços regionais para obter detalhes.
É possível usar o X-Ray para rastrear solicitações de aplicações ou serviços espalhados entre várias regiões?
Sim. É possível usar o X-Ray para rastrear solicitações percorrendo aplicações ou serviços entre várias regiões. Os dados do X-Ray são armazenados localmente na região processada mas com informações suficientes para permitir que aplicações cliente combinem os dados e disponibilizem uma visualização global dos rastreamentos. A anotação da região para os Serviços da AWS será adicionada automaticamente, no entanto, os clientes deverão instrumentar os serviços personalizados para adicionar a anotação regional para usar a compatibilidade entre regiões.
Tratamento de dados
Em quanto tempo os dados de rastreamento são disponibilizados no X-Ray?
Geralmente, os dados de rastreamento enviados são disponibilizados para recuperação e filtragem dentro de 30 segundos após terem sido recebidos pelo serviço.
Até quando posso consultar os dados de rastreamento? Por quanto tempo o X-Ray armazena dados de rastreamento?
O X-Ray armazena dados de rastreamento dos últimos 30 dias. Isso permite consultar dados de rastreamento de até 30 dias atrás.
Por que às vezes rastreamentos parciais são visualizados?
O X-Ray faz o possível para apresentar informações completas de rastreamento. No entanto, em algumas situações (como problemas de conectividade, atraso no recebimento de segmentos, etc.) é possível que informações de rastreamento disponibilizadas pelas APIs do X-Ray sejam parciais. Nessas situações, o X-Ray aponta os rastreamentos como incompletos ou parciais.
Os componentes da aplicação são executados nas próprias contas da AWS. É possível usar o X-Ray para coletar dados entre contas da AWS?
Sim. O daemon do X-Ray pode assumir um perfil para publicar dados em uma conta que não seja a conta em que ele está sendo executado. Isso permite publicar dados de vários componentes da aplicação em uma conta central.