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.
Temas
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 entornoPYTHONPATH
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 archivosettings.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
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
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:
Amazon EKS: Configuración de una aplicación Node.js con el formato de módulo ESM
Amazon ECS con estrategia sidecar: Setting up a Node.js application with the ESM module format
Amazon ECS con estrategia daemon: Setting up a Node.js application with the ESM module format
Amazon ECS con AWS CDK
Amazon EC2: Setting up a Node.js application with the ESM module format
Kubernetes: Configuración de una aplicación Node.js con el formato de módulo ESM
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.