Application Signals 支援的系統 - Amazon CloudWatch

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

Application Signals 支援的系統

應用程式訊號在 Amazon EKS、原生 Kubernetes、Amazon 和 Amazon 上受到支援ECS和測試EC2。在 Amazon 上啟用 Application Signals 的指示EC2,應在支援 CloudWatch 代理程式和 AWS Distro for 的任何平台上運作 OpenTelemetry,但指示尚未在其他平台上測試。

Java 相容性

Application Signals 支援 Java 應用程式,並支援與 AWS Distro for OpenTelemetry 相同的 Java 程式庫和架構。如需詳細資訊,請參閱支援的程式庫、架構、應用程式伺服器和 JVMs

JVM 支援 8、11 和 17 版。

Python 相容性

Python 相容性

Application Signals 支援與 AWS Distro for OpenTelemetry 相同的程式庫和架構。如需詳細資訊,請參閱 opentelemetry-python-contrib支援的套件

支援 Python 3.8 版和更新版本。

為 Python 應用程式啟用 Application Signals 之前,請注意下列考量事項。

  • 在某些容器化應用程式中,缺少PYTHONPATH的環境變數有時可能會導致應用程式無法啟動。若要解決此問題,請確定您已將PYTHONPATH環境變數設定為應用程式工作目錄的位置。這是由於 OpenTelemetry 自動儀器的已知問題所致。如需此問題的詳細資訊,請參閱 Python 自動儀器設定 PYTHONPATH 不符合

  • 對於 Django 應用程式,還有其他必要的組態,如 OpenTelemetry Python 文件 所述。

    • 使用 --noreload旗標來防止自動重新載入。

    • DJANGO_SETTINGS_MODULE環境變數設定為 Django 應用程式settings.py檔案的位置。這可確保 OpenTelemetry 可以正確存取 Django 設定並與之整合。

.NET 相容性

Application Signals 支援在 Amazon NET、Amazon EKS、Amazon EC2ECS和 Amazon 上執行的 Kubernetes 上使用 AWS Distro for Open Telemetry (ADOT) 儀器的 . 應用程式EC2。

此版本支援 .NET 6 和 8,以及 。NET Framework 4.6.2 和更新版本。

Application Signals 支援在 x86-64 或 ARM64 上執行的 .NET 應用程式CPUs,並支援 Linux x64、Linux ARM64、Microsoft Windows Server 2022 x64 和 Microsoft Windows Server 2019 x64 作業系統。

Node.js 相容性

Application Signals 支援與 AWS Distro for OpenTelemetry 相同的 Node.js 程式庫和架構。如需詳細資訊,請參閱支援的儀器

此版本支援 Node.js 第 14、16、18、20 和 22 版。

使用 的 Node.js 的已知限制 ESM

AWS Distro for Opentelemetry Node.js 支援兩個模組系統:ECMAScript模組 (ESM) 和 CommonJS ()CJS。若要啟用 Application Signals,我們建議您使用CJS模組格式,因為 OpenTelemetry JavaScript對 的支援ESM是實驗性的,而且是進行中的工作。如需詳細資訊,請參閱 上的ECMAScript模組與 CommonJS GitHub。

若要判斷您的應用程式是否使用 CJS ESM,請確定您的應用程式未滿足啟用 的條件ESM。如需這些條件的詳細資訊,請參閱 Node.js 文件中的啟用

AWS Distro for Opentelemetry Node.js ESM 根據 OpenTelemetry JavaScript的實驗支援,提供有限的 支援ESM。這表示下列事項:

  • Node.js 版本必須是 18.19.0 或更新版本。

  • 您要儀器的 Node.js 應用程式必須包含 @aws/aws-distro-opentelemetry-node-autoinstrumentation@opentelemetry/instrumentation作為相依性。

  • 您要儀器的 Node.js 應用程式必須以下列節點選項開始:

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

若要使用 Node.js ESM模組格式啟用 Application Signals,我們為不同的平台提供不同的設定: