Unterstützte Systeme - Amazon CloudWatch

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Unterstützte Systeme

Application Signals wird auf Amazon EKS, nativem Kubernetes, Amazon ECS und Amazon unterstützt und getestet. EC2 Die Anweisungen zur Aktivierung von Application Signals auf Amazon EC2 sollten auf jeder Plattform funktionieren, die den CloudWatch Agenten und AWS Distro für unterstützt OpenTelemetry, aber die Anweisungen wurden nicht auf anderen Plattformen getestet.

Java-Kompatibilität

Application Signals unterstützt Java-Anwendungen und unterstützt dieselben Java-Bibliotheken und Frameworks wie AWS Distro for OpenTelemetry . Weitere Informationen finden Sie unter Unterstützte Bibliotheken, Frameworks, Anwendungsserver und JVMs.

Die JVM-Versionen 8, 11, 17, 21 und 23 werden unterstützt.

Python-Kompatibilität

Python-Kompatibilität

Application Signals unterstützt dieselben Bibliotheken und Frameworks wie die AWS Distribution for OpenTelemetry . Weitere Informationen finden Sie unter Unterstützte Pakete unter opentelemetry-python-contrib.

Python-Versionen 3.8 und höher werden unterstützt.

Bevor Sie Application Signals für Ihre Python-Anwendungen aktivieren, sollten Sie die folgenden Überlegungen beachten.

  • In einigen containerisierten Anwendungen kann eine fehlende PYTHONPATH Umgebungsvariable manchmal dazu führen, dass die Anwendung nicht gestartet werden kann. Um dieses Problem zu beheben, stellen Sie sicher, dass Sie die PYTHONPATH Umgebungsvariable auf den Speicherort des Arbeitsverzeichnisses Ihrer Anwendung setzen. Dies ist auf ein bekanntes Problem mit der OpenTelemetry automatischen Instrumentierung zurückzuführen. Weitere Informationen zu diesem Problem finden Sie unter Python-Autoinstrumentation-Einstellung von PYTHONPATH ist nicht kompatibel.

  • Für Django-Anwendungen sind zusätzliche Konfigurationen erforderlich, die in der OpenTelemetry Python-Dokumentation beschrieben werden.

    • Verwenden Sie das --noreload Flag, um ein automatisches Neuladen zu verhindern.

    • Setzen Sie die DJANGO_SETTINGS_MODULE Umgebungsvariable auf den Speicherort der Datei Ihrer Django-Anwendung. settings.py Dadurch wird sichergestellt, dass OpenTelemetry Sie korrekt auf Ihre Django-Einstellungen zugreifen und diese integrieren können.

.NET-Kompatibilität

Application Signals unterstützt .NET-Anwendungen mit AWS Distro for Open Telemetry (ADOT) -Instrumentierung auf Amazon EKS, Amazon, Amazon ECS und Kubernetes EC2, die auf Amazon ausgeführt werden. EC2

Diese Version unterstützt .NET 8, 9 und .NET Framework 4.6.2 und höher.

Anmerkung

Version 1.7.0 von AWS Distro for OpenTelemetry SDK ist die letzte Version, die .NET 6 unterstützt. Neue Versionen von.NET 6 werden nicht unterstützt.

Application Signals unterstützt .NET-Anwendungen, die auf x86-64 oder x64 ausgeführt werden ARM64 CPUs, und unterstützt die Betriebssysteme Linux x64, Linux ARM64, Microsoft Windows Server 2022 x64 und Microsoft Windows Server 2019 x64.

Kompatibilität mit Node.js

Application Signals unterstützt dieselben Node.js Bibliotheken und Frameworks wie die AWS Distribution for OpenTelemetry . Weitere Informationen finden Sie unter Unterstützte Instrumentierungen.

Diese Version unterstützt die Versionen 14, 16, 18, 20 und 22 von Node.js.

Bekannte Einschränkungen von Node.js mit ESM

Die AWS Distribution für Opentelemetry Node.js unterstützt zwei Modulsysteme: ECMAScript Modules (ESM) und CommonJS (CJS). Um Application Signals zu aktivieren, empfehlen wir, das CJS-Modulformat zu verwenden, da die Unterstützung von ESM experimentell OpenTelemetry JavaScript ist und noch in Arbeit ist. Weitere Informationen finden Sie unter ECMAScript Module im Vergleich zu CommonJS auf. GitHub

Um festzustellen, ob Ihre Anwendung CJS und nicht ESM verwendet, stellen Sie sicher, dass Ihre Anwendung die Bedingungen für die Aktivierung von ESM nicht erfüllt. Weitere Informationen zu diesen Bedingungen finden Sie unter Enabling in der Dokumentation zu Node.js.

Die AWS Distribution für Opentelemetry Node.js bietet begrenzte Unterstützung für ESM, basierend auf OpenTelemetry JavaScript der experimentellen Unterstützung für ESM. Das bedeutet Folgendes:

  • Die Version Node.js muss 18.19.0 oder höher sein.

  • Die Anwendung Node.js, die Sie instrumentieren möchten, muss Abhängigkeiten @aws/aws-distro-opentelemetry-node-autoinstrumentation und @opentelemetry/instrumentation Abhängigkeiten enthalten.

  • Die Anwendung Node.js, die Sie instrumentieren möchten, muss mit der folgenden Knotenoption beginnen:

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

Um Application Signals mit dem ESM-Modulformat Node.js zu aktivieren, bieten wir verschiedene Setups für verschiedene Plattformen an:

OpenTelemetry Kompatibilität

CloudWatch Application Signals ist vollständig kompatibel mitOpenTelemetry. Informationen zu den ersten Schritten finden Sie unter OpenTelemetry mit CloudWatch. Wenn Sie ein integrierteres Erlebnis wünschen, z. B. die Verwendung von CloudWatch Agent with AWS Distro for OpenTelemetry (ADOT) SDKs, finden Sie unter Erste Schritte mit Application Signals Ihre bevorzugte Konfigurationsmethode.

Bekannte Probleme

Es ist bekannt, dass die Erfassung von Laufzeit-Metriken in der Java SDK-Version v1.32.5 nicht mit Anwendungen funktioniert, die Wildfly verwenden. JBoss Dieses Problem erstreckt sich auf das Amazon CloudWatch Observability EKS-Add-on und betrifft Versionen 2.3.0-eksbuild.1 bis2.6.0-eksbuild.1. Das Problem wurde in der Java SDK-Version v1.32.6 und der Amazon CloudWatch Observability EKS-Add-On-Version v3.0.0-eksbuild.1 behoben.

Wenn Sie betroffen sind, aktualisieren Sie entweder die Java SDK-Version oder deaktivieren Sie die Erfassung Ihrer Laufzeitmetriken, indem Sie Ihrer Anwendung die Umgebungsvariable OTEL_AWS_APPLICATION_SIGNALS_RUNTIME_ENABLED=false hinzufügen.