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á.
Instrumente seu aplicativo para AWS X-Ray
A instrumentação de uma aplicação requer o envio de dados de rastreamento para solicitações de entrada e saída e outros eventos dentro da aplicação, bem como metadados sobre cada solicitação. Há várias opções de instrumentação diferentes que você pode escolher ou combinar, com base em suas aplicações específicas:
-
Instrumentação automática: instrumente sua aplicação sem alterações no código, normalmente por meio de alterações de configuração, adição de um agente de instrumentação automática ou outros mecanismos.
-
Instrumentação de biblioteca — faça alterações mínimas no código do aplicativo para adicionar instrumentação pré-criada direcionada a bibliotecas ou estruturas específicas, como o AWS SDK, clientes Apache HTTP ou clientes SQL.
-
Instrumentação manual: adicione o código de instrumentação à aplicação em cada local para o qual você deseja enviar informações de rastreamento.
Há vários SDKs, agentes e ferramentas que podem ser usados para instrumentar a aplicação para rastreamento do X-Ray.
Tópicos
- Instrumentando seu aplicativo com a AWS Distro para OpenTelemetry
- Instrumentar uma aplicação com SDKs da AWS X-Ray
- Escolhendo entre os AWS SDKs Distro for OpenTelemetry e X-Ray
- Instrumente seu aplicativo com Go
- Instrumente seu aplicativo com Java
- Instrumente seu aplicativo com Node.js
- Instrumente seu aplicativo com Python
- Instrumente seu aplicativo com .NET
- Instrumente seu aplicativo com Ruby
Instrumentando seu aplicativo com a AWS Distro para OpenTelemetry
A AWS Distro for OpenTelemetry (ADOT) é uma AWS distribuição baseada no projeto Cloud Native Computing Foundation (CNCF). OpenTelemetry OpenTelemetry fornece um único conjunto de APIs, bibliotecas e agentes de código aberto para coletar rastreamentos e métricas distribuídos. Esse kit de ferramentas é uma distribuição de OpenTelemetry componentes upstream, incluindo SDKs, agentes de instrumentação automática e coletores que são testados, otimizados, protegidos e suportados pela. AWS
Com o ADOT, os engenheiros podem instrumentar seus aplicativos uma vez e enviar métricas e rastreamentos correlacionados para várias soluções de AWS monitoramento CloudWatch AWS X-Ray, incluindo Amazon e Amazon OpenSearch Service.
O uso do X-Ray com o ADOT requer dois componentes: um OpenTelemetry SDK habilitado para uso com o X-Ray e o AWS Distro for OpenTelemetry Collector habilitado para uso com o X-Ray. Para obter mais informações sobre como usar a AWS Distro for OpenTelemetry with AWS X-Ray e other Serviços da AWS, consulte a AWS Distro for OpenTelemetry
Para obter mais informações sobre suporte e uso de idiomas, consulte AWS Observabilidade ativada GitHub
nota
Agora você pode usar o CloudWatch agente para coletar métricas, registros e rastreamentos de instâncias do Amazon EC2 e servidores locais. CloudWatch O agente versão 1.300025.0 e posterior pode coletar traços de nossos SDKs do cliente OpenTelemetryX-Ray e enviá-los para o X-Ray. Usar o CloudWatch agente em vez do AWS Distro for OpenTelemetry (ADOT) Collector ou do daemon X-Ray para coletar traços pode ajudar a reduzir o número de agentes que você gerencia. Consulte o tópico do CloudWatch agente no Guia do CloudWatch usuário para obter mais informações.
A tabela inclui o seguinte:
No momento, o ADOT comporta instrumentação automática para Java
Os SDKs do ADOT para Java e Go comportam regras de amostragem centralizada do X-Ray. Se você precisar de suporte para as regras de amostragem do X-Ray em outros idiomas, considere usar um AWS X-Ray SDK.
nota
Agora você pode enviar IDs de rastreamento do W3C para o X-Ray. Por padrão, os rastreamentos criados com OpenTelemetry têm um formato de ID de rastreamento baseado na especificação do W3C Trace Context
Instrumentar uma aplicação com SDKs da AWS X-Ray
AWS X-Ray inclui um conjunto de SDKs específicos de linguagem para instrumentar seu aplicativo para enviar rastreamentos ao X-Ray. 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 da 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.
Os seguintes SDKs específicos à linguagem são fornecidos:
No momento, o X-Ray comporta instrumentação automática para Java.
Escolhendo entre os AWS SDKs Distro for OpenTelemetry e X-Ray
Os SDKs incluídos com o X-Ray fazem parte de uma solução de instrumentação totalmente integrada que é oferecida pela AWS. O AWS Distro OpenTelemetry for faz parte de uma solução mais ampla do setor, na qual o X-Ray é apenas uma das muitas soluções de rastreamento. Você pode implementar o end-to-end rastreamento no X-Ray usando qualquer uma das abordagens, mas é importante entender as diferenças para determinar a abordagem mais útil para você.
Recomendamos instrumentar seu aplicativo com a AWS Distro OpenTelemetry se você precisar do seguinte:
-
A capacidade de enviar rastreamentos para vários back-ends de rastreamento diferentes sem precisar reinstrumentar seu código
-
Support para um grande número de instrumentações de biblioteca para cada idioma, mantidas pela comunidade OpenTelemetry
-
Camadas do Lambda totalmente gerenciadas que empacotam tudo o que você precisa para coletar dados de telemetria, sem exigir alterações de código ao usar Java, Python ou Node.js.
nota
AWS O Distro for OpenTelemetry oferece uma experiência inicial mais simples para instrumentar suas funções do Lambda. No entanto, devido às OpenTelemetry ofertas de flexibilidade, sua função Lambda exigirá memória adicional e as invocações podem sofrer aumentos de latência de inicialização a frio, o que pode levar a cobranças adicionais. Se você está otimizando para baixa latência e não precisa de recursos avançados, como destinos OpenTelemetry de back-end configuráveis dinamicamente, convém usar o AWS X-Ray SDK para instrumentar seu aplicativo.
Recomendamos escolher um X-Ray SDK para instrumentar a aplicação se você precisar do seguinte:
-
Uma solução totalmente integrada de um único fornecedor.
-
Integração com as regras de amostragem centralizada do X-Ray, incluindo a capacidade de configurar regras de amostragem por meio do console do X-Ray e usá-las automaticamente em vários hosts, ao utilizar Node.js, Python, Ruby ou .NET