OpenTelemetry の互換性に関する考慮事項
アプリケーションで CloudWatch Application Signals を利用できるようにするには、既存のパフォーマンスモニタリングソリューションをアプリケーションから完全に削除しておくことをお勧めします。これには、計測コードと設定の削除も含まれます。
Application Signals では、OpenTelemetry の計測機能を使用しますが、既にある OpenTelemetry の計測機能や設定との互換性は保証されません。最良のシナリオであれば、カスタムメトリクスなどの OpenTelemetry 機能の一部を維持できる場合がありますが、詳細については、次のセクションを参照してください。
OpenTelemetry を使用している場合の考慮事項
残りのセクションでは、アプリケーションで OpenTelemetry を使用している方を対象に、Application Signals との互換性を確保するための重要な情報を紹介します。
アプリケーションで Application Signals を有効にする前に、OpenTelemetry に基づいた自動計算エージェントの挿入をアプリケーションから削除する必要があります。これにより、設定の競合を回避できます。互換性のある OpenTelemetry API と Application Signals を使用して、手動計測の使用を継続することができます。
手動計測によってアプリケーションからカスタムスパンまたはメトリクスを生成している場合、計測の複雑さによっては、Application Signals を有効にした後に、データ生成の停止など、望ましくない動作が見られる可能性があります。OpenTelemetry で利用可能な設定の一部 (本セクションで後述する表内の設定を除く) を使用すると、既存のメトリクスまたはスパンの望ましい動作を維持できる場合があります。こうした設定の詳細については、OpenTelemetry ドキュメントの「SDK Configuration
」を参照してください。 例えば、
OTEL_EXPORTER_OTLP_METRIC_ENDPOINT
設定と自己管理型の OpenTelemetry Collector インスタンスを使用することで、カスタムメトリクスを望ましい宛先に引き続き送信できる場合があります。環境変数やシステムプロパティの中には、Application Signals で使用してはならないものもあれば、次の表のガイダンスに従っている限り使用できるものもあります。詳細については、表内を参照してください。
環境変数 | Application Signals での推奨設定 |
---|---|
一般的な環境変数 |
|
|
|
|
|
|
他のログエクスポーターを無効にするには |
|
使用しないでください。 |
|
.NET の設定において、この環境変数は手動計装ではサポートされていますが、自動計装ではサポートされていません。この環境変数を用いて独自のエンドポイントにメトリクスを送信することはできません。 |
|
使用しないでください。 |
|
設定する場合は、CloudWatch Application Signals によってスパン属性をさらに 10 個ほど追加できるよう、十分に大きな値を指定する必要があります。 |
|
|
|
設定する場合は、トレースを考慮して |
|
設定する場合は、 ローカルサンプリングを使用するには、これを |
|
一元化された X-Ray トレースサンプルをデフォルト設定で使用している場合は、この変数は使用しないでください。 上記ではなくローカルサンプリングを使用している場合は、この変数にサンプリングレートを設定します。例えば、サンプリングレートが 5% の場合、 |
Java 固有の環境変数 |
|
|
設定する場合は、AWS のリソース検出機能も指定する必要があります。 |
Python 固有の環境変数 |
|
|
使用する場合は、 |
|
使用する場合は、 |
Node.js 固有の環境変数 |
|
|
この変数をクリアして、すべての計測をデフォルトで有効にすることをお勧めします。 |
|
この変数をクリアすることをお勧めします。ADOT JavaScript SDK は、テレメトリデータが低品質にならないようにデフォルト値を設定します。 |