OpenTelemetry (Beta) opentelemetry-apm

Adobeは、AEM as a Cloud Serviceに組み込まれたApplication Performance Monitoring (APM)統合を、OpenTelemetryに置き換えます。これは、すべての主要なモニタリングプラットフォームでサポートされている、オープンで業界標準のオブザーバビリティのアプローチです。

現在、AEM as a Cloud Serviceには、Adobe全体で管理されるAPM統合が組み込まれています。 統合が置き換えられたら、独自のAPM エンドポイント​を使用する必要があります。これは、OpenTelemetry データを受け入れるベンダープラットフォーム、またはセルフホスト(オンプレミス)のOpenTelemetry互換バックエンドです。

AVAILABILITY
このページは予告です。 以下に説明するOpenTelemetry統合は、本日​Beta プログラムを通じて利用できます。より幅広い利用は、2026年後半に予定されています。 Beta プログラムに参加するには、ユースケースについて説明した電子メール aemcs-apm-beta@adobe.comを送信します。 現在Adobeの組み込みAPM統合に依存している場合は、このBeta期間を使用してOpenTelemetryを評価し、独自のAPM エンドポイントを選択し、その変化に先駆けて移行を計画します。 登録が完了したら、以下の手順1を参照して、お使いの環境で有効にしてください。

この変更の利点 benefits

  • すぐに使えるテレメトリ​により、トレース、指標、ログが一緒に表示され、今日の組み込み統合機能よりもAEM アプリケーションの動作を幅広く把握できます。
  • オープンな業界標準 — OpenTelemetryは、観測可能業界全体で広く採用されており、一貫した広くサポートされた形式でテレメトリを提供します。
  • 組織に合ったプロバイダー​にテレメトリを送信します。OpenTelemetryがサポートされている場合は、現在のプロバイダーを含めます。
  • 高度なネットワーク サポート — エンドポイントがプライベートであるか、既知の安定したIP アドレスから送信トラフィックを送信する必要がある場合、この統合は専用エグレスをサポートします。
  • 指標、トレース、ログに対する1つの統合方法 – 個別のメカニズムではなく、3つすべての統合点です。 ログ転送は引き続きそのまま機能します。今日はログの転送方法を変更する必要はありません。

概要 overview

AEM as a Cloud Serviceは、可観測性に対するオープンな業界標準アプローチであるOpenTelemetryを使用してアプリケーションからテレメトリを生成し、選択したAPM プロバイダーに転送できます。 これにより、AEMアプリケーションを、他のシステムと並行して、チームが既に使用しているツールで監視することができます。

この統合を使用する一般的な理由には、遅いリクエストや失敗したリクエストの調査、JVMの健全性とリソースの使用状況の経時的な追跡、AEM階層のダッシュボードとアラートの構築、インシデント時のAEMの動作と他のサービスの相関関係などが含まれます。これらはすべて、すでに使用しているモニタリングツールから離れることなく実行できます。

次のテレメトリはスコープ内にあります。

​* Traces — AEM アプリケーションで処理されるリクエストの分散トレース。
​* 指標 — JVM ランタイム指標(メモリ、ガベージコレクション、スレッド)およびインバウンド HTTP リクエスト率、待ち時間、エラー率などのアプリケーション指標。
​* Logs — OpenTelemetryのログシグナルを使用して送信されたAEM アプリケーションのログ。 ログはオプションで、トレースと指標に依存せずに切り替えることができます。

​ ログ転送は、既存の個別のメカニズムを通じて引き続きサポートされており、この統合の影響を受けません。

WARNING
このOpenTelemetry統合​および ログ転送を通じてログを同時に有効にし、両方とも同じ宛先に送信すると、そこに重複したログメッセージが届きます。 宛先ごとに1つのパスのみを有効にするか、各宛先に送信します。
IMPORTANT
AEM アプリケーションで生成されたテレメトリのみが、APM プロバイダーに送信されます。 基盤となるCloud Service ランタイムとインフラストラクチャに関する詳細は含まれません。 送信されるデータ ​を参照してください。

サポートされているOpenTelemetry バージョン supported-versions

Component
サポート対象
OpenTelemetry Java エージェント
2.x
プロトコルを書き出し
OTLP/HTTPS (OpenTelemetry Protocol over HTTPS)

OpenTelemetry エージェントは、Cloud Service ランタイムの一部として実行されます。 Adobeが提供し、最新の状態に保たれるため、自分でインストール、管理、アップグレードする必要はありません。 具体的なパッチバージョンは、Adobeがエージェントを更新すると変更される場合があります。

サポートされているOpenTelemetry バリアント supported-variants

AEM アプリケーションは、上記のバージョンに基づいて、次のOpenTelemetry エージェントバリアント(ディストリビューション)のいずれかを使用してインストルメントできます。 ツールに適したバリエーションを選択します。詳しくは、各プロジェクトのドキュメントを参照してください。

バリアント
文書
OpenTelemetry (upstream) – デフォルト
OpenTelemetry Java インストルメンテーション ​
Grafana
Java用Grafana OpenTelemetry ディストリビューション ​
Splunk
OpenTelemetry JavaのSplunk ディストリビューション

デフォルトのアップストリームバリアントは、任意のAPM ベンダーで動作します。 GrafanaとSplunkのバリエーションは、これらのプラットフォームに対してベンダー固有のインストルメントとデフォルトを追加します。

APM ベンダー apm-vendors

OTLP/HTTPS​経由でOpenTelemetry データを受け入れる任意のApplication Performance Monitoring ベンダーにテレメトリを送信できます。 これは、選択したOpenTelemetry バリアントとは独立しています。 OTLP/HTTPSに対応しているベンダーは、次のとおりです。

​* New Relic
​* Grafana Cloud
​* Splunk Observability Cloud
​* Dynatrace
​* Datadog
​* Dash0
​* ハニカム
​* 弾性観察可能性
​* Sumo Logic
​* ServiceNow Cloud Observability

このリストは網羅的なものではありません。OTLP/HTTPS エンドポイントを公開するあらゆるバックエンドを使用できます。

サポート対象の環境 supported-environments

この統合は、Cloud Manager 実稼動ステージ開発​環境で有効にできます。 各環境は個別に有効になっています。手順1を参照してください。 高速開発環境(RDE)はサポートされていません。

ネットワーク接続 network-connectivity

APM プロバイダーのエンドポイントには、AEM as a Cloud Service環境からHTTPS経由でアクセスできる必要があります。

APM エンドポイントがプライベートである場合、または安定した既知のIP アドレスから離脱するためにアウトバウンドトラフィックが必要な場合、この統合では、専用エグレスを使用した​ アドバンストネットワーク ​をサポートします。 有効にする方法については、​ アドバンスドネットワーク ​を参照してください。

送信されるデータ what-data-is-sent

AEM アプリケーション によって生成されたトレース、指標、および(有効な場合)ログのみが、APM プロバイダーに送信されます。​次に、期待できるデータの例を示します。

Traces — アプリケーションが処理するリクエストの範囲です。次を含みます。

​* インバウンド HTTP リクエストのスパン。メソッドとルートで指定します(例:GET /content/...)。
​* リクエストの処理中に生成されたサーブレットとアウトバウンドデータベース(JDBC)のスパン。

大量の内部スケジューラーとヘルスプローブのアクティビティ(Quartz ジョブなど)がフィルタリングされ、トレースがアプリケーションリクエストに集中するように処理されます。 Sling リソース解決、OSGi サービス、JCR アクセスなど、きめ細かいAEM フレームワーク内部スパンは、このリリースでは発行されません。

指標 — JVM ランタイムおよびHTTP サーバー指標。以下を含む標準のOpenTelemetry指標名を使用します。

​* JVM ランタイム:jvm.memory.usedjvm.gc.durationjvm.thread.countjvm.cpu.recent_utilization
​* HTTP サーバー:http.server.request.duration (リクエスト率、待ち時間パーセンタイル、エラー率はこのヒストグラムから派生します)。

Logs – 有効にすると、AEM アプリケーションのログエントリがOpenTelemetryのログシグナルを使用して送信されます。 ログ エントリには、トレースおよび指標(service.name, deployment.environment)と同じリソース属性が含まれているため、それらを関連付けることができます。

この方法で送信されたログは、​ ログ転送とは独立しています。同じ宛先に対して両方を有効にすると重複が発生する理由については、概要を参照してください。

テレメトリの識別方法 – 各トレースと指標には、次のようなリソース属性が含まれます。

​* service.name — プログラム、環境、サービス、および階層(例:cm-p<program>-e<environment>-aem-publish-prod)を識別します。
​* deployment.environment – 環境タイプ (例:prodまたはstage)。

Cloud Service ランタイムと、アプリケーションをホストするプラットフォーム(内部ホスト名、アドレス、コンテナ ID、オペレーティングシステムまたはプロセスの詳細など)に関する情報は、データが外部に出る前に削除されます。

統合の設定 set-up

手順1:統合を有効にする request-access

Cloud Manager Config Pipeline リポジトリにconfig/otel.yaml ファイルを追加します。 少なくとも、次を指定します。

​* この設定が適用される環境タイプ (例:stageprod)。
​* APM プロバイダーのタイプとOTLP/HTTPS エンドポイント URL (該当する場合は地域を含む)。
​* プロバイダーが使用する認証方法(手順2を参照)。

New Relic、Dynatrace、Datadog、Dash0、および汎用またはセルフホスト型エンドポイントの例など、正確なファイル形式については、以下の設定の例を参照してください。

手順2:認証資格情報の設定 configure-credential

Cloud ManagerでOTEL_CUSTOMER_AUTHという名前の​ シークレット環境変数を宣言することで、APM プロバイダーが必要とする資格情報を指定します。 作成者、公開、プレビューの各層で資格情報を使用できるように、Service Applied​を​ All ​に設定します。

環境変数を追加または更新するには、​ デプロイメントマネージャーの役割のメンバーである必要があります。 完全な手順については、Cloud Managerの環境変数を参照してください。

プロバイダーの認証方法に応じて値を設定します。

認証方法
OTEL_CUSTOMER_AUTH
HTTP Basic
単語Basic、スペース、次にusername:passwordのBase64 エンコーディング。
Basic YWxhZGRpbjpvcGVuc2VzYW1l
ベアラートークン
単語Bearer、スペース、トークン。
Bearer eyJhbGciOiJ...
API キー
生のキー値のみ(接頭辞​no)。
New Relic インジェストライセンスキー(40文字のキーなど)
NOTE
Basic​および​ Bearer ​認証の場合、値は標準のAuthorization ヘッダーで送信されるので、スキーム ワード (BasicまたはBearer)を含める必要があります。 カスタムヘッダー(New Relicのapi-key ヘッダーなど)を使用するプロバイダーの場合、生の資格情報値のみを指定し、設定ファイルのauthHeaderNameを正しいヘッダー名に設定します(設定の例を参照)。
CAUTION
OTEL_CUSTOMER_AUTHは資格情報です。 値がGitに保存されたり、ログに公開されたりすることはないため、常に​ secret ​環境変数として宣言します。

プロバイダー固有の設定 provider-specific

次の表に、一部の一般的なプロバイダーのエンドポイントと認証の概要を示します。 プロバイダーのドキュメントで必ず現在の値を確認してください。 カスタムヘッダー(New RelicやDatadogなど)を使用するプロバイダーの場合は、OTEL_CUSTOMER_AUTHを生のキー値のみに設定し、設定ファイルのauthHeaderNameを正しいヘッダー名に設定します(設定の例を参照)。

プロバイダー
エンドポイントの例
認証
New Relic
https://otlp.nr-data.net (米国)、https://otlp.eu01.nr-data.net (EU)
カスタム api-key ヘッダーに送信された​ライセンス キーを取り込みます(生の値、プレフィックスなし)。 ユーザー(NRAK-)キーではなく、取り込みライセンスキーを使用してください。
Datadog
https://otlp.<your-datadog-site> (例:https://otlp.datadoghq.com
カスタム dd-api-key ヘッダーで送信されたAPI キー。 ダイレクト OTLP trace​の取り込みはプレビュー中です。
Dynatrace
https://{your-environment-id}.live.dynatrace.com/api/v2/otlp
API アクセストークン。Authorization ヘッダーにApi-Token <token>として送信されます。 OTEL_CUSTOMER_AUTHApi-Token <token>に設定します。
Dash0
https://ingress.<region>.aws.dash0.com:4318 (例:https://ingress.eu-west-1.aws.dash0.com:4318
認証トークン。Authorization ヘッダーにBearer <token>として送信されます。 OTEL_CUSTOMER_AUTHBearer <token>に設定します。

設定例 example-configuration

次のようなファイルを、​ プロバイダー固有の設定のプロバイダーに基づいて、Config パイプラインリポジトリのconfig/otel.yamlに追加します。

New Relic:

kind: "Otel"
version: "v1"
metadata:
  envTypes:
    - "stage"
    - "prod"
data:
  enabled: true
  type: "newrelic"
  endpoint: "https://otlp.nr-data.net"   # https://otlp.eu01.nr-data.net for the EU region
  authHeaderValue: "${{secrets.OTEL_CUSTOMER_AUTH}}"
  metrics: true   # optional
  logs: true      # optional — see Overview for the Log Forwarding duplicate-message warning

Dynatrace:

kind: "Otel"
version: "v1"
metadata:
  envTypes:
    - "stage"
    - "prod"
data:
  enabled: true
  type: "dynatrace"
  endpoint: "https://{your-environment-id}.live.dynatrace.com/api/v2/otlp"
  authHeaderValue: "${{secrets.OTEL_CUSTOMER_AUTH}}"   # the secret's value must be "Api-Token <token>"
  metrics: true
  logs: true

Datadog:

kind: "Otel"
version: "v1"
metadata:
  envTypes:
    - "stage"
    - "prod"
data:
  enabled: true
  type: "generic"
  endpoint: "https://otlp.<your-datadog-site>"   # for example, https://otlp.datadoghq.com
  authHeaderName: "dd-api-key"
  authHeaderValue: "${{secrets.OTEL_CUSTOMER_AUTH}}"   # the secret's value is the raw API key, no prefix
  metrics: true
  logs: true

Dash0:

kind: "Otel"
version: "v1"
metadata:
  envTypes:
    - "stage"
    - "prod"
data:
  enabled: true
  type: "generic"
  endpoint: "https://ingress.<region>.aws.dash0.com:4318"
  authHeaderValue: "${{secrets.OTEL_CUSTOMER_AUTH}}"   # the secret's value must be "Bearer <token>"
  metrics: true
  logs: true

汎用エンドポイントまたはセルフホスト エンドポイント (オンプレミス OpenTelemetry コレクターなど):

kind: "Otel"
version: "v1"
metadata:
  envTypes:
    - "stage"
    - "prod"
data:
  enabled: true
  type: "generic"
  endpoint: "https://<your-otlp-endpoint>"
  authHeaderValue: "${{secrets.OTEL_CUSTOMER_AUTH}}"   # for example, "Basic <base64(user:pass)>"
  metrics: true
  logs: true

高度なネットワーク (専用エグレス) — プライベート エンドポイント、またはトラフィックが既知の安定したIP アドレスから離れる必要があるエンドポイントの場合(​ ネットワーク接続を参照):

kind: "Otel"
version: "v1"
metadata:
  envTypes:
    - "stage"
    - "prod"
data:
  enabled: true
  type: "generic"
  endpoint: "https://<your-private-otlp-endpoint>"
  authHeaderValue: "${{secrets.OTEL_CUSTOMER_AUTH}}"
  metrics: true
  logs: true
  advancedNetworking: true   # routes this endpoint's egress through Advanced Networking instead of direct internet egress
IMPORTANT
advancedNetworkingは、Cloud Managerがアドバンスドネットワークを既にプロビジョニングしている場合を除き、効果がありません。この設定が設定されていることを確認してから、環境に依存してください。 高度なネットワーク ​を参照してください。
NOTE
metricslogsはそれぞれオプションで、互いに独立しています。トレースのみを必要とする場合は、どちらかを省略するか、falseに設定します。

手順3:デプロイ deploy

統合は、次の​ デプロイメント ​に対して有効になります。つまり、Cloud Managerのデプロイメントパイプラインが次回に実行されるとき(フルスタックデプロイメントなど)。 config/otel.yaml ファイルを追加して資格情報を設定してから環境がデプロイされていない場合は、デプロイメントを実行してアクティブ化します。

デプロイメント後、AEM アプリケーションのトレース、指標、および(有効な場合)ログがAPM プロバイダーに表示され始めます。 確認するには、手順4を使用します。

手順4:統合の検証 verify

テレメトリは独自のAPM プロバイダーに送信されるので、プロバイダーのツールからの統合を確認します。Adobeはこのデータを表示しません。

デプロイメントが完了したら、データが到着するまで数分待ってから、APM プロバイダーで次の点を確認します。

​* Traces — AEM サービスの新しいスパン。 例えば、オーサー層またはパブリッシュ層のservice.nameを検索するか、インバウンド HTTP リクエスト スパンを検索します。
​* 指標 — サービスの受信jvm.*およびhttp.server.*指標。
​* ログ (有効な場合) — AEM サービスの受信ログエントリ。

このデータが表示された場合、統合は機能しています。

トラブルシューティング troubleshooting

テレメトリがAPM プロバイダーに表示されない場合は、次の点を確認してください。

症状
確認すべきこと
デプロイメント後にデータがありません
デプロイメントが正常に完了し、統合が有効になってからデプロイメントが実行されていることを確認します。 最初のデータが到着するまで数分待ってから、エンドポイント URLとOTEL_CUSTOMER_AUTH値を再確認します。
認証エラーまたは拒否されたデータ
OTEL_CUSTOMER_AUTH値がプロバイダーの必要な形式と一致することを確認します(手順2および​ プロバイダー固有の設定を参照)。 よくある間違いは、スキームの単語(BasicBearer、またはApi-Token)を含めたり省略したり、間違ったキー(取り込みライセンスキーの代わりにNew Relic ユーザー(NRAK-)キーなど)を使用したりすることです。
エンドポイントに到達できません
エンドポイント URLと地域が正しく、エンドポイントがHTTPS経由で到達できることを確認します。 エンドポイントがプライベートである場合、またはプロバイダーが既知のIP アドレスからのトラフィックを必要とする場合は、専用エグレスを使用した高度なネットワーク ​を有効にします。
高度なネットワークが必要かどうかを確認する
APM エンドポイントがパブリックインターネットからアクセスできない場合、またはプロバイダーが安定した送信元IP アドレスの許可リストを作成する必要がある場合にのみ必要です。 上記のプロバイダーの例のようなパブリック SaaS エンドポイントは、このエンドポイントを必要としません。
ログエントリはありませんが、トレースと指標が表示されます
ログの確認が設定で有効になっています(送信されるデータ ​を参照)。 アプリケーションが最近何もログを記録していない場合は、まだ送信するものがない可能性があります。
宛先でログメッセージを複製する
この統合のログと​ ログ転送の両方が同じ宛先に送信されている可能性があります。 概要を参照:宛先ごとに1つのパスのみを有効にします。

これらのチェックを行ってもテレメトリが表示されない場合は、aemcs-apm-beta@adobe.comにプログラムと環境の詳細を問い合わせてください。

FAQ faq

なぜこの変更が行われるのですか?

AEM as a Cloud Serviceのお客様は、コンテキスト内のトレース、スパン、ログだけでなく、追加の指標と運用データを求めています。 OpenTelemetryは、これらの機能をすべてサポートする業界標準であり、広くサポートされている形式(OTLP)で出力します。

OpenTelemetryを有効にすると、New Relicはどうなりますか?

設定パイプラインを実行すると、New RelicへのデータがAEM as a Cloud Serviceから送信されなくなります。

New RelicからOpenTelemetryに移行する場合、元に戻すことはできますか?

はい。 設定パイプラインを使用してOpenTelemetryを無効にし、フルスタックパイプラインを実行して完了します。 これは2026年11月末まで可能です。

2026年11月の後はどうなりますか?

Adobeは、組み込みのAPM ソリューションから、永続的なオブザーバビリティソリューションとしてOpenTelemetryに移行します。

​* ログ転送
​* 高度なネットワークの設定
​* Cloud Manager の環境変数

recommendation-more-help
experience-manager-cloud-service-help-main-toc