支援的系統 - Amazon CloudWatch

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

支援的系統

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

Java 相容性

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

支援 JVM 版本 8、11、17、21 和 23。

Python 相容性

Python 相容性

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

支援 Python 3.8 版和更新版本。

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

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

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

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

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

.NET 相容性

Application Signals 支援在 Amazon EKS、Amazon EC2、Amazon ECS 和在 Amazon EC2 上執行的 Kubernetes 上使用 AWS Distro for Open Telemetry (ADOT) 檢測的 Amazon EC2NET 應用程式。

此版本支援 .NET 8、9 和 .NET Framework 4.6.2 及更高版本。

注意

AWS Distro for OpenTelemetry SDK 1.7.0 版是支援 .NET 6 的最後一個版本。不支援任何新版本的 .NET 6。

Application Signals 支援在 x86-64 或 ARM64 CPUs 上執行的 .NET 應用程式,並支援 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。

使用 ESM 的 Node.js 已知限制

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

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

AWS Distro for Opentelemetry Node.js 根據 OpenTelemetry JavaScript 的 ESM 實驗性支援,提供有限的 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,我們為不同的平台提供不同的設定:

OpenTelemetry 相容性

CloudWatch Application Signals 與 完全相容OpenTelemetry。如需如何開始使用的詳細資訊,請參閱 OpenTelemetry with CloudWatch。如果您想要更整合的體驗,例如使用 CloudWatch Agent 搭配 AWS Distro for OpenTelemetry (ADOT) SDKs,請參閱 Application Signals 入門以尋找您偏好的組態方法。

已知問題

Java SDK 1.32.5 版中的執行時間指標集合已知不適用於使用 JBoss Wildfly 的應用程式。此問題延伸到 Amazon CloudWatch 可觀測性 EKS 附加元件,2.3.0-eksbuild.1透過 影響版本2.6.0-eksbuild.1。此問題已在 Java SDK 版本 v1.32.6和 Amazon CloudWatch 可觀測性 EKS 附加元件版本 中修正v3.0.0-eksbuild.1

如果您受到影響,請升級 Java SDK 版本,或透過將環境變數OTEL_AWS_APPLICATION_SIGNALS_RUNTIME_ENABLED=false新增至應用程式來停用執行時間指標集合。