Aguarde, carregando...

Amazon X-Ray AWS

Amazon X-Ray AWS
Luis Carlos Da Silva Santos
Por: Luis Carlos Da Silva Santos
Dia 03/12/2021 10h51

O X-Ray é um serviço gerenciado que permite dissecar um aplicativo até seus componentes individuais, ele oferece suporte a recursos de agrupamento e filtragem, permitindo que você encontre gargalos e pontos de acesso de desempenho.

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 a performance de aplicativos e de seus serviços subjacentes para identificar e solucionar problemas e erros de performance. 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 níveis a aplicações complexas de microsserviços compostas por milhares de serviços.

Amazon X-Ray AWS

O AWS X-Ray fornece visibilidade dos caminhos e do desempenho de seus aplicativos implantados, fornecendo rastros de solicitações à medida que são encaminhadas por meio de diferentes pontos de contato de serviço. Ele pode ser usado não apenas para monitorar o desempenho da solicitação, mas também para identificar gargalos e erros. O X-Ray é um serviço gerenciado que permite dissecar um aplicativo até seus componentes individuais. Vamos agora destacar alguns exemplos rápidos que o AWS X-Ray oferece. Ele permite que você visualize relacionamentos de serviço complexos e detalhados em aplicativos altamente distribuídos. Você pode rastrear caminhos de mensagens e pilhas de chamadas em escala. Ele oferece suporte a recursos de agrupamento e filtragem, permitindo que você encontre gargalos e pontos de acesso de desempenho.

E, por fim, permite que você analise e identifique exceções e erros de serviço. Agora vamos começar a mergulhar um pouco mais fundo em como o AWS X-Ray é implantado e configurado em um ambiente e como os dados de telemetria ou rastreamento são coletados e publicados no serviço AWS X-Ray. Como você pode ver no diagrama, os dados de rastreamento de mensagem são coletados de dentro de seu aplicativo e de todos os outros serviços de aplicativo pelos quais a mensagem flui. Sua base de código de aplicativo precisa ser instrumentada com o SDK do AWS X-Ray apropriado. Isso implementa a extração e correlação de dados de rastreamento. Os dados de rastreamento correspondentes são agrupados e publicados na Internet para o serviço AWS X-Ray para agregação e análise. E daqui, você pode começar a visualizar a telemetria coletada visualizando e navegando no console de serviço do AWS X-Ray.

O serviço AWS X-Ray é composto dos seguintes componentes principais. X-Ray SDK, o AWS X-Ray SDK é usado para instrumentar o código do seu aplicativo. Daemon do X-Ray, o daemon do AWS X-Ray coleta todos os dados de rastreamento locais, agrupa as informações e as envia periodicamente para a Internet para o serviço do AWS X-Ray. O daemon por padrão escuta na porta 2000 para conexões UDP. API X-Ray, o serviço AWS X-Ray tem um endpoint de API que é usado para receber a telemetria coletada conforme fornecida pelo daemon AWS X-Ray. Para outros clientes, o serviço AWS X-Ray pode ser integrado com o uso do AWS SDK, do AWS CLI ou de outros clientes fornecidos por terceiros.

Console de raio-x, o console de serviço AWS X-Ray é onde toda a magia da visualização se junta. Você pode fazer login no console de serviço do AWS X-Ray e navegar por todos os seus rastreamentos coletados. O AWS X-Ray cria um mapa de serviços usado por seu aplicativo com dados de rastreamento que você pode usar para pesquisar serviços ou problemas específicos. Isso fornece uma visão das conexões entre os serviços e seu aplicativo e dados agregados para cada serviço, incluindo latência média e taxas de falha. Dentro do mapa de serviço, a saúde de cada nó é representada pela coloração na proporção de chamadas bem-sucedidas para erros e falhas. Verde significa chamadas bem-sucedidas, vermelho significa falhas do servidor, amarelo significa erros do cliente e roxo representa erros de limitação.

A lista de rastreamento no console do AWS X-Ray é usada para localizar rastreamentos por URL, código de resposta ou outros dados do resumo de rastreamento. A janela de rastreamento permite que você analise todas as atividades em seu aplicativo distribuído enquanto ele é executado. É um bom lugar para começar a investigar problemas de desempenho percebidos em seu aplicativo. O AWS X-Ray atualmente oferece suporte aos três SDKs a seguir. Cada um está disponível individualmente em seus respectivos repositórios de gerenciamento de pacotes online. Java Maven, Node.js via npm e .NET disponível no NuGet. espere ver a AWS apresentar SDKs X-Ray específicos de linguagem mais recente com o passar do tempo. Incorporar o SDK do AWS X-Ray em seu aplicativo permite coletar e rastrear solicitações de entrada e saída. Os pontos de dados são passados ​​para o daemon local do X-Ray que, por sua vez, agrupa os dados e os entrega periodicamente ao serviço AWS X-Ray. Por exemplo, o aplicativo Node.js na tela foi instrumentado com o Node.js X-Ray SDK.

O daemon AWS X-Ray é um aplicativo que escuta o tráfego na porta UDP 2000. Ele reúne os dados brutos do segmento, os agrupa e encaminha periodicamente para a API AWS X-Ray. Por padrão, o daemon do X-Ray escuta na porta 2000, mas isso pode ser reconfigurado. Do ponto de vista da segurança, o daemon do X-Ray precisa ser configurado com permissões para autorizar e publicar os dados de rastreamento na API do AWS X-Ray. As credenciais que o daemon X-Ray usa em tempo de execução podem ser estabelecidas fornecendo uma regra IAM quando o daemon é implantado em uma instância EC2 ou configurando variáveis ​​de ambiente para AWS access key ID e AWS secret access key quando o daemon é implantado em um ambiente não EC2.

O daemon AWS X-Ray está disponível atualmente para os sistemas operacionais Linux, OSX e Windows. Tornar-se fluente na instrumentação de seus aplicativos e otimizar sua capacidade de monitorar e solucionar problemas de aplicativos por meio da filtragem requer uma boa apreciação dos conceitos fundamentais que o AWS X-Ray usa. Agora examinaremos brevemente cada um desses conceitos individualmente. Os segmentos são partes do rastreamento que correspondem a um único serviço. Subsegmentos são chamadas remotas ou seções de computadores locais dentro de um serviço. Os rastreamentos encapsulam o caminho de ponta a ponta de uma solicitação à medida que ela atravessa seu aplicativo. Use expressões de filtro para visualizar um mapa ou rastreamento de serviço. A filtragem permite detalhar e localizar áreas de interesse.

Amazon X-Ray AWS

As anotações são indexadas para oferecer suporte à filtragem no console. Os metadados também podem ser adicionados opcionalmente a um rastreamento. Mas, ao contrário das anotações, elas não são indexadas. As exceções que ocorrem em seu aplicativo em tempo de execução são registradas e capturadas nos rastros e estão disponíveis para consulta ao usar o console AWS X-Ray. Os segmentos são fundamentais para a forma como o serviço AWS X-Ray coleta e constrói rastros. Os segmentos são costurados para formar traços. Seu aplicativo envia dados sobre o trabalho que faz na forma de segmentos.

Um segmento fornece o nome do recurso, os detalhes da solicitação e da resposta e detalhes sobre o trabalho realizado. Por exemplo, quando uma solicitação HTTP chega ao seu aplicativo, os seguintes dados de segmento podem ser registrados. O host, incluindo o nome do host, alias ou endereço IP. A solicitação, incluindo método HTTP, endereço do cliente, caminho ou agente do usuário. A resposta, incluindo status e conteúdo. O trabalho realizado, incluindo horários de início e término e outros subsegmentos chamados. Subsegmentos são usados ​​para registrar chamadas downstream do ponto de vista do serviço que o chama.

O X-Ray usa subsegmentos para identificar serviços downstream que não enviam segmentos e criar interesse para eles no gráfico de serviço. Para garantir que seu rastreamento permaneça eficiente, ao mesmo tempo que fornece uma amostra representativa da solicitação que flui por meio de seu aplicativo, o AWS X-Ray permite configurar e personalizar uma taxa de amostragem que governa a taxa na qual os dados de rastreamento são coletados. A capacidade de fazer isso é fornecida para garantir que seu aplicativo permaneça com bom desempenho e que você tenha uma experiência econômica.

Um rastreamento de raio-X é um conjunto de estágios de pontos de dados que compartilham a mesma ID de rastreamento comum. Por exemplo, quando um cliente inicia uma nova solicitação para seu aplicativo, a solicitação é marcada com um ID de rastreamento exclusivo. Conforme o serviço segue seu caminho downstream por meio de outros serviços em seu aplicativo, os serviços retransmitem informações sobre a solicitação de volta para o X-Ray usando o mesmo ID de rastreamento exclusivo. A visualização do rastreamento no console de serviço do AWS X-Ray fornece uma visualização da linha do tempo e a hierarquia de cada chamada feita no mesmo rastreamento. Cada solicitação na visualização da linha do tempo fornece detalhes como códigos de resposta e matriz de latência. Você pode selecionar qualquer regra individual e pesquisar detalhes mais específicos desse item.

Conclusão

Nível gratuito perpétuo que permite o seguinte. Os primeiros 100.000 rastreamentos registrados a cada mês são gratuitos. O primeiro milhão de rastreamentos recuperados ou digitalizados a cada mês são gratuitos e, secundariamente, o custo real é acumulado depois que os limites do nível gratuito são atingidos. O X-Ray armazena dados de rastreamento dos últimos 30 dias. Isso permite que você consulte os dados de rastreamento que remontam a 30 dias.

Para saber mais consulte a documenteção da AWS X-Ray, exemplo de definição de preço.

Veja também:

Confira mais artigos relacionados e obtenha ainda mais dicas de controle para suas contas.