Sistemas compatíveis - Amazon CloudWatch

Sistemas compatíveis

O Application Signals é compatível e foi testado no Amazon EKS, no Kubernetes nativo, no Amazon ECS e no Amazon EC2. As instruções para a habilitação do Application Signals no Amazon EC2 devem funcionar em qualquer plataforma compatível com o agente do CloudWatch e o AWS Distro para OpenTelemetry, mas as instruções não foram testadas em outras plataformas.

Compatibilidade com Java

O Application Signals é compatível com as aplicações em Java e as mesmas bibliotecas e estruturas em Java que o AWS Distro para OpenTelemetry. Para obter mais informações, consulte Supported libraries, frameworks, application servers, and JVMs.

As versões 8, 11, 17, 21 e 23 da JVM são compatíveis.

Compatibilidade com Python

Compatibilidade com Python

O Application Signals oferece suporte às mesmas bibliotecas e estruturas que o AWS Distro para OpenTelemetry. Para obter mais informações, consulte Supported packages em opentelemetry-python-contrib.

As versões 3.8 e posteriores do Python são compatíveis.

Antes de habilitar o Application Signals para suas aplicações em Python, esteja ciente das considerações apresentadas a seguir.

  • Em algumas aplicações em contêineres, uma variável de ambiente PYTHONPATH ausente pode, às vezes, causar falhas na inicialização da aplicação. Para resolver isso, certifique-se de definir a variável de ambiente PYTHONPATH para o local do diretório de trabalho da sua aplicação. Isso ocorre devido a um problema conhecido com a instrumentação automática do OpenTelemetry. Para obter mais informações sobre esse problema, consulte Python autoinstrumentation setting of PYTHONPATH is not compliant.

  • Para aplicações em Django, existem configurações adicionais necessárias, descritas na documentação do OpenTelemetry em Python.

    • Use o sinalizador --noreload para evitar o recarregamento automático.

    • Defina a variável de ambiente DJANGO_SETTINGS_MODULE para o local do arquivo settings.py da sua aplicação em Django. Isso garante que o OpenTelemetry possa acessar e se integrar adequadamente às suas configurações do Django.

Compatibilidade do .NET

O Application Signals é compatível com aplicações .NET com instrumentação do AWS Distro for Open Telemetry (ADOT) no Amazon EKS, Amazon EC2, Amazon ECS e Kubernetes em execução no Amazon EC2.

Essa versão é compatível com o .NET 8 e 9 e com o .NET Framework 4.6.2 e versões posteriores.

nota

A versão 1.7.0 do SDK do AWS Distro para OpenTelemetry é a última versão compatível com o .NET 6. Quaisquer novas versões do .NET 6 não são compatíveis.

O Application Signals é compatível com aplicações .NET que estão sendo executadas em CPUs com arquitetura x86-64 ou ARM64, além de oferecer suporte aos sistemas operacionais Linux x64, Linux ARM64, Microsoft Windows Server 2022 x64 e Microsoft Windows Server 2019 x64.

Compatibilidade com Node.js

O Application Signals é compatível com as mesmas bibliotecas e estruturas para Node.js que o AWS Distro para OpenTelemetry. Para obter mais informações, consulte Supported instrumentations.

Esta versão é compatível com as versões 14, 16, 18, 20 e 22 do Node.js.

Limitações conhecidas sobre o uso de ESM com o Node.js

O AWS Distro para OpenTelemetry no Node.js é compatível com dois sistemas de módulos: o ECMAScript Modules (ESM) e o CommonJS (CJS). Para habilitar o Application Signals, recomendamos o uso do formato de módulo CJS, pois o fornecimento de suporte para o módulo ESM em JavaScript no OpenTelemetry ainda é experimental e está em desenvolvimento. Para obter mais detalhes, consulte ECMAScript Modules vs. CommonJS no GitHub.

Para determinar se a aplicação está usando CJS, em vez de ESM, verifique se ela não atende às condições necessárias para habilitar o ESM. Para obter mais informações sobre essas condições, consulte Enabling na documentação do Node.js.

O AWS Distro para OpenTelemetry no Node.js disponibiliza suporte limitado ao formato de módulo ESM, com base no suporte experimental ao ESM fornecido em JavaScript pelo OpenTelemetry. Essas limitações significam que:

  • A versão do Node.js deve ser 18.19.0 ou versões posteriores.

  • A aplicação do Node.js que você deseja instrumentar deve incluir @aws/aws-distro-opentelemetry-node-autoinstrumentation e @opentelemetry/instrumentation como dependências.

  • A aplicação do Node.js que você deseja instrumentar deve ser iniciada com a seguinte opção de nó:

    NODE_OPTIONS=' --import @aws/aws-distro-opentelemetry-node-autoinstrumentation/register --experimental-loader=@opentelemetry/instrumentation/hook.mjs'

Para habilitar o Application Signals com o formato do módulo ESM no Node.js, fornecemos diferentes configurações para plataformas distintas:

Compatibilidade com o OpenTelemetry

O CloudWatch Application Signals é totalmente compatível com o OpenTelemetry. Para obter informações sobre como começar a usar, consulte OpenTelemetry with CloudWatch. Se você quiser uma experiência mais integrada, como usar o CloudWatch Agent com SDKs do AWS Distro para OpenTelemetry (ADOT), consulte Getting started with Application Signals para encontrar seu método de configuração preferido.

Problemas conhecidos

Sabemos que a coleção de métricas de runtime na versão v1.32.5 do Java SDK não funciona com aplicações que usam o JBoss Wildfly. Esse problema se estende ao complemento Amazon CloudWatch Observability EKS, afetando as versões 2.3.0-eksbuild.1 até 2.6.0-eksbuild.1. O problema foi corrigido na versão v1.32.6 do Java SDK e na versão v3.0.0-eksbuild.1 do complemento Amazon CloudWatch Observability para EKS.

Se você for afetado, atualize a versão do Java SDK ou desabilite a coleção de métricas de runtime adicionando a variável de ambiente OTEL_AWS_APPLICATION_SIGNALS_RUNTIME_ENABLED=false à sua aplicação.