Sistemas compatibles - Amazon CloudWatch

Sistemas compatibles

Application Signals es compatible y está probado en Amazon EKS, Kubernetes nativo, Amazon ECS y Amazon EC2. Las instrucciones para habilitar Application Signals en Amazon EC2 deberían funcionar en cualquier plataforma que admita el agente CloudWatch y AWS Distro para OpenTelemetry, pero no se han probado en otras plataformas.

Compatibilidad con Java

Application Signals admite aplicaciones de Java, así como las mismas bibliotecas y marcos de Java que AWS Distro para OpenTelemetry. Para obtener más información, consulte Bibliotecas, marcos, servidores de aplicaciones y máquinas virtuales compatibles.

Se admiten las versiones 8, 11, 17, 21 y 23 de JVM.

Compatibilidad con Python

Compatibilidad con Python

Application Signals admite las mismas bibliotecas y marcos que AWS Distro para OpenTelemetry. Para obtener más información, consulte Supported packages en opentelemetry-python-contrib.

Las versiones 3.8 y posteriores de Python son compatibles.

Antes de activar las señales de aplicación para sus aplicaciones Python, debe tener en cuenta las consideraciones siguientes.

  • En algunas aplicaciones en contenedores, la falta de una variable de entorno PYTHONPATH a veces puede provocar que la aplicación no se inicie. Para solucionar este problema, asegúrese de configurar la variable de entorno PYTHONPATH en la ubicación del directorio de trabajo de la aplicación. Esto se debe a un problema conocido con la instrumentación automática de OpenTelemetry. Para obtener más información sobre este problema, consulte Python autoinstrumentation setting of PYTHONPATH is not compliant.

  • Para las aplicaciones de Django, se requieren configuraciones adicionales, que se describen en la documentación de Python de OpenTelemetry.

    • Use el indicador --noreload para evitar la recarga automática.

    • Establezca la variable de entorno DJANGO_SETTINGS_MODULE en la ubicación del archivo settings.py de su aplicación Django. Esto garantiza que OpenTelemetry pueda acceder correctamente a la configuración de Django e integrarse correctamente con ella.

Compatibilidad con .NET

Application Signals admite aplicaciones .NET con instrumentación Distro for Open Telemetry (ADOT) de AWS en Amazon EKS, Amazon EC2, Amazon ECS y Kubernetes que se ejecutan en Amazon EC2.

Esta versión es compatible con .NET 8, 9 y .NET Framework 4.6.2 y posteriores.

nota

La versión 1.7.0 del SDK de AWS Distro para OpenTelemetry es la última versión compatible con .NET 6. No se admiten versiones nuevas de .NET 6.

Application Signals admite aplicaciones .NET que se ejecutan en CPU x86-64 o ARM64 y es compatible con los sistemas operativos Linux x64, Linux ARM64, Microsoft Windows Server 2022 x64 y Microsoft Windows Server 2019 x64.

Compatibilidad con Node.js

Application Signals admite las mismas bibliotecas de Node.js y marcos que AWS Distro para OpenTelemetry. Para obtener más información, consulte Supported instrumentations.

Esta versión es compatible con control de versiones 14, 16, 18, 20 y 22 de Node.js.

Limitaciones conocidas de Node.js con ESM

AWS Distro para OpenTelemetry Node.js es compatible con dos sistemas de módulos: ECMAScript Modules (ESM) y CommonJS (CJS). Para habilitar Application Signals, recomendamos usar el formato de módulo CJS, ya que la compatibilidad de OpenTelemetry JavaScript con ESM es experimental y está en proceso. Para obtener más información, consulte ECMAScript Modules vs. CommonJS en GitHub.

Para determinar si su aplicación utiliza CJS y no ESM, asegúrese de que la aplicación no cumpla las condiciones para habilitar ESM. Para obtener más información sobre estas condiciones, consulte Habilitar en la documentación de Node.js.

AWS Distro para OpenTelemetry Node.js ofrece compatibilidad limitada con ESM, basada en la compatibilidad experimental de OpenTelemetry JavaScript con ESM. Esto significa que:

  • La versión de Node.js debe ser 18.19.0 o posterior.

  • La aplicación Node.js que desea instrumentar debe incluir @aws/aws-distro-opentelemetry-node-autoinstrumentation y @opentelemetry/instrumentation como dependencias.

  • La aplicación Node.js que desea instrumentar debe comenzar con la siguiente opción de nodo:

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

A continuación se puede acceder a la configuración para habilitar Application Signals con el formato de módulo ESM de Node.js en diferentes plataformas:

Compatibilidad con OpenTelemetry

CloudWatch Application Signals es totalmente compatible con OpenTelemetry. Para obtener información sobre cómo empezar, consulte OpenTelemetry con CloudWatch. Si busca una experiencia más integrada, como usar el agente de CloudWatch con los SDK de AWS Distro para OpenTelemetry (ADOT), consulte Introducción a Application Signals para buscar el método de configuración que prefiera.

Problemas conocidos

Se sabe que la colección de métricas de tiempo de ejecución de la versión 1.32.5 del SDK de Java no funciona con aplicaciones que utilizan JBoss Wildfly. Este problema se extiende al complemento de observabilidad de EKS de Amazon CloudWatch y afecta a todas las versiones, de 2.3.0-eksbuild.1 a 2.6.0-eksbuild.1. El problema ya está solucionado en la versión v1.32.6 del SDK de Java y en la versión v3.0.0-eksbuild.1 del complemento de observabilidad de EKS de Amazon CloudWatch.

Si se ve afectado, cambie a una versión posterior de SDK de Java o desactive la colección de métricas de tiempo de ejecución agregando la variable de entorno OTEL_AWS_APPLICATION_SIGNALS_RUNTIME_ENABLED=false a la aplicación.