サポートされているシステム - 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 ライブラリとフレームワークもサポートしています。詳細については、「Supported libraries, frameworks, application servers, and JVMs」を参照してください。

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 の自動計測に関する既知の問題によるものです。この問題の詳細については、「Python autoinstrumentation setting of PYTHONPATH is not compliant」を参照してください。

  • Django アプリケーションには、OpenTelemetry Python ドキュメントで概説されている追加の必須設定があります。

    • --noreload フラグを使用すると、自動リロードを防ぐことができます。

    • Django アプリケーションの settings.py ファイルの場所に DJANGO_SETTINGS_MODULE 環境変数を設定します。これにより、OpenTelemetry がユーザーの Django 設定に正しくアクセスして統合できるようになります。

.NET の互換性

Application Signals は、Amazon EC2 上で実行されている Amazon EKS、Amazon EC2、Amazon ECS、および Kubernetes の AWS Distro for Open Telemetry (ADOT) を計装した .NET アプリケーションをサポートしています。

このリリースは、.NET 8 と 9、さらに .Net framework 4.6.2 以降をサポートしています。

注記

AWS Distro for OpenTelemetry SDK のバージョン 1.7.0 は、.NET 6 をサポートする最後のバージョンです。.NET 6 の新しいバージョンはサポートされていません。

Application Signals は、x86-64 CPU または ARM64 CPU で実行されている .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 ライブラリとフレームワークをサポートしています。詳細については、「Supported instrumentations」を参照してください。

このリリースは、Node.js バージョン 14、16、18、20、22 をサポートしています。

EMS を使用する ENode.js における既知の制限事項

AWS Distro for Opentelemetry Node.js は、ECMAScript Modules (ESM) と CommonJS (CJS) の 2 つのモジュールシステムをサポートしています。OpenTelemetry JavaScript による ESM のサポートは実験的であり、現在開発中であるため、Application Signals を有効にするには、CJS モジュール形式を使用することをお勧めします。詳細については、GitHub の「ECMAScript Modules vs. CommonJS」を参照してください。

お使いのアプリケーションで ESM ではなく CJS を使用しているかどうかは、アプリケーションが ESM を有効にするための条件を満たしていないことを確認することで判断できます。これらのコマンドの詳細については、Node.js ドキュメントの「Enabling」を参照してください。

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 と完全に互換性があります。開始方法の詳細については、「CloudWatch を使用した OpenTelemetry」を参照してください。Distro for OpenTelemetry (ADOT) SDK AWS で CloudWatch エージェントを使用するなど、より統合されたエクスペリエンスが必要な場合、「Application Signals の開始方法」を参照し、希望する設定方法を見つけてください。

既知の問題

Java SDK リリース v1.32.5 のランタイムメトリクスコレクションは、JBoss Wildfly を使用するアプリケーションで動作しないことが知られています。この問題は Amazon CloudWatch Observability EKS アドオンに及び、2.3.0-eksbuild.1 から 2.6.0-eksbuild.1 までのバージョンに影響します。この問題は、Java SDK リリース v1.32.6 と Amazon CloudWatch Observability EKS アドオンバージョン v3.0.0-eksbuild.1 で修正されています。

影響を受けた場合、Java SDK のバージョンをアップグレードするか、アプリケーションに OTEL_AWS_APPLICATION_SIGNALS_RUNTIME_ENABLED=false 環境変数を追加してランタイムメトリクス収集を無効にします。