As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Rastreamento
O rastreamento envolve o uso especializado de registrar informações sobre os processos de um programa. Os insights dos registros podem ajudar os engenheiros a depurar transações individuais e identificar gargalos. O rastreamento pode ser ativado automaticamente ou usando instrumentação manual.
Como um aplicativo se integra a serviços diferentes, é importante identificar o desempenho do aplicativo e dos serviços subjacentes. O rastreamento funciona com traços e vãos. Um rastreamento é o processo de solicitação completo, e cada rastreamento é composto por extensões. Um intervalo é um intervalo de tempo marcado e é a atividade dentro dos componentes ou serviços individuais de um sistema. Os rastreamentos fornecem uma visão geral do que acontece quando uma solicitação é feita a um aplicativo.
Equipe de aplicação
Os desenvolvedores de aplicativos instrumentam seus aplicativos enviando dados de rastreamento para solicitações de entrada e saída e outros eventos dentro do aplicativo, junto com metadados sobre cada solicitação. Para gerar rastreamentos, um aplicativo deve ser instrumentado para gerar rastreamentos. A instrumentação pode ser automática ou manual.
Instrumentação automática
Você pode coletar telemetria de um aplicativo usando instrumentação automática
A instrumentação da biblioteca envolve fazer alterações mínimas no código do aplicativo para adicionar instrumentação pré-construída. A instrumentação tem como alvo bibliotecas ou estruturas específicas, como o AWS SDK, clientes Apache HTTP ou clientes SQL.
Instrumentação manual
Nessa abordagem, os desenvolvedores de aplicativos adicionam código de instrumentação ao aplicativo em cada local em que desejam coletar informações de rastreamento. Por exemplo, use programação orientada a aspectos (AOP) para coletar dados AWS X-Ray de rastreamento. Os desenvolvedores podem usar SDKs para instrumentar seus aplicativos.
Amostragem
Os dados de rastreamento geralmente são gerados em grandes volumes. É importante ter um mecanismo para determinar se os dados de rastreamento devem ser exportados ou não. A amostragem é o processo de determinar quais dados devem ser exportados. Isso geralmente é feito para economizar custos. Ao personalizar regras de amostragem, você pode controlar a quantidade de dados registrados. Você também pode alterar o comportamento da amostragem sem alterar e reimplantar seu código. É importante controlar a taxa de amostragem para gerar a quantidade certa de traços.
Os desenvolvedores de aplicativos podem anotar os rastreamentos adicionando metadados como pares de valores-chave. As anotações enriquecem os traços e ajudam a refinar a filtragem no back-end.
DevOps equipe
DevOps Muitas vezes, os engenheiros são solicitados a configurar um ambiente de rastreamento para que o desenvolvedor do aplicativo visualize os rastreamentos da infraestrutura e dos aplicativos. A configuração do ambiente de rastreamento envolve coletar dados de rastreamento de diferentes fontes e enviá-los para um armazenamento central para visualização.
Backend de rastreamento
Um back-end de rastreamento é um serviço AWS X-Ray que coleta dados sobre solicitações atendidas pelo seu aplicativo. Ele fornece ferramentas que você pode usar para visualizar, filtrar e obter informações sobre esses dados para identificar problemas e oportunidades de otimização. Para qualquer solicitação rastreada para seu aplicativo, você pode ver informações detalhadas sobre a solicitação e a resposta e sobre outras chamadas que seu aplicativo faz para AWS recursos downstream, microsserviços, bancos de dados e APIs da web.
Automatizando o rastreamento
Como aplicativos diferentes têm requisitos de rastreamento diferentes, é importante automatizar a configuração e a operação da infraestrutura de rastreamento. Use ferramentas de IaC para provisionar o back-end da infraestrutura de rastreamento.
Use pipelines de CD para automatizar o seguinte:
-
Implante a infraestrutura de rastreamento sob demanda e destrua-a quando não for necessário.
-
Implante a configuração de rastreamento em todos os aplicativos.
Ferramentas de rastreamento
AWS fornece os seguintes serviços para rastreamento e sua visualização associada:
-
AWS X-Ray recebe rastreamentos de seu aplicativo, além de rastreamentos de AWS serviços que seu aplicativo usa que já estão integrados ao X-Ray. Há vários SDKs, agentes e ferramentas que podem ser usados para instrumentar a aplicação para rastreamento do X-Ray. Para obter mais informações, consulte a documentação do AWS X-Ray.
Os desenvolvedores também podem usar AWS X-Ray SDKs para enviar rastreamentos para o X-Ray. AWS X-Ray fornece SDKs para GoJava, Node.jsPython, .NET e. Ruby Cada X-Ray SDK fornece o seguinte:
-
Interceptadores a serem adicionados ao código para rastrear solicitações HTTP recebidas
-
Manipuladores de clientes para AWS instrumentar clientes SDK que seu aplicativo usa para chamar outros serviços AWS
-
Um cliente HTTP para instrumentar chamadas para outros serviços da web HTTP internos e externos
Os X-Ray SDKs também oferecem suporte a chamadas de instrumentação para bancos de dados SQL, instrumentação automática de clientes AWS SDK e outros recursos. Em vez de enviar dados de rastreamento diretamente ao X-Ray, os SDK enviam documentos de segmentos JSON a um processo do daemon que escuta o tráfego UDP. O daemon do X-Ray armazena os segmentos em buffer em uma fila e os carrega em lote no X-Ray. Para obter mais informações sobre como instrumentar seu aplicativo usando um X-Ray SDK, consulte a documentação do X-Ray.
-
-
O Amazon OpenSearch Service é um serviço AWS gerenciado para execução e escalabilidade de OpenSearch clusters, que pode ser usado para armazenar centralmente registros, métricas e rastreamentos. O plug-in de Observabilidade fornece uma experiência unificada para coletar e monitorar métricas, logs e rastreamentos de fontes de dados comuns. A coleta e o monitoramento de dados em um só lugar fornecem uma end-to-end capacidade de observação completa de toda a sua infraestrutura. Para obter informações sobre a implementação, consulte a documentação do OpenSearch serviço.
-
AWS Distro for OpenTelemetry (ADOT) é uma AWS distribuição baseada no projeto Cloud Native Computing Foundation (CNCF). OpenTelemetry Atualmente, o ADOT inclui suporte de instrumentação automática para Java e Python.
Além disso, o ADOT oferece suporte à instrumentação automática de AWS Lambda funções e suas solicitações downstream usando Node.js e Python tempos de execuçãoJava, por meio do ADOT Managed Lambda Layers. Os desenvolvedores podem usar o coletor ADOT para enviar rastreamentos para diferentes back-ends, incluindo o AWS X-Ray Amazon Service. OpenSearch Para ver um exemplo de referência de como instrumentar seu aplicativo usando o SDK ADOT, consulte a documentação.
Para obter um exemplo de referência de como usar o SDK ADOT para enviar dados para o Amazon OpenSearch Service, consulte a documentação do OpenSearch serviço. Para obter um exemplo de referência de como instrumentar seu aplicativo em execução no Amazon EKS, consulte a postagem do blog Coleta de métricas e rastreamentos usando complementos do Amazon EKS para o AWS Distro
for. OpenTelemetry