AEM アプリケーションのインサイトを得るためのOpenTelemetryの設定
AEM as a Cloud Service環境を任意のOpenTelemetry互換オブザーバビリティ プラットフォームに接続する方法について説明します。
前の記事では、AEM as a Cloud ServiceでOpenTelemetryを使用する概念と利点について説明しました。 このチュートリアルでは、AEM WKND サンプルプロジェクト をサンプルアプリケーションとして使用し、Cloud Manager Config パイプラインを使用してconfig/otel.yamlをデプロイしてテレメトリを書き出す方法を説明します。
大まかな手順は次のとおりです。
- オブザーバビリティ プラットフォーム のOTLP/HTTPS エンドポイントと取り込み資格情報を取得します。
- Cloud Managerで資格情報を安全に保存します。
config/otel.yamlファイルをAEM プロジェクト リポジトリに追加します。- Cloud Manager Config Pipelineを実行します。
- AEM アプリケーションへのトラフィックを生成します。
- 観測可能プラットフォームのテレメトリを確認します。
前提条件
始める前に、次のことを確認してください。
- WKND サイトまたは独自のアプリケーションがデプロイされた AEM as a Cloud Service 開発環境、ステージング環境、実稼動環境。 OpenTelemetryは、HIPAA スコープの環境、サンドボックスプログラム、および高速開発環境(RDE)ではサポートされていません。
- 環境変数を管理し、Config パイプラインを作成および実行する権限を持つ Cloud Manager にアクセスします。
- エンドポイントと取り込み資格情報を使用して、HTTPS 経由で OTLPを受け入れるオブザーバビリティ プラットフォーム。
- 受信AEM テレメトリを検証および視覚化するためのオブザーバビリティ プラットフォームへのアクセス。
手順1:識別可能性エンドポイントと資格情報の取得
オブザーバビリティ プラットフォームで、OTLP/HTTPS取り込みエンドポイントを見つけ、適切な取り込み資格情報を作成または取得します。 手順については、プラットフォームのドキュメントを参照してください。
どのプラットフォームを使用すればよいかわからない場合は、 可観測性プラットフォームの選択を参照してください。
このチュートリアルでは、HTTPS経由のOTLPをサポートし、基本的な認証トークンを必要とするセルフホスト型のオブザーバビリティ プラットフォームを使用します。
手順2:オブザーバビリティ資格情報をCloud Managerに保存する
取り込み資格情報をCloud Manager シークレット環境変数として保存します。
-
Adobe Cloud Managerで、AEM プログラムを選択します。
-
ターゲット環境を選択し、詳細を表示をクリックします。
-
設定 タブで、追加/更新をクリックし、次の値を持つ環境変数を追加します。
table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 設定 値 名前 OTEL_CUSTOMER_AUTH値 プロバイダーの取り込み資格情報。 形式はプラットフォームによって異なります。 例については、 プロバイダー固有の設定を参照してください。 適用されるサービス すべて 種類 秘密鍵 この例では、セルフホスト型プラットフォームは
Basic <base64(user:password)>形式の基本認証トークンを使用しています。 -
環境変数を保存するには、Addをクリックしてから Save をクリックします。
config/otel.yaml ファイルは、この秘密鍵を${{secrets.OTEL_CUSTOMER_AUTH}}として参照しています。 資格情報は、AEM リポジトリまたはパイプラインログに絶対に表示しないでください。
手順3:OpenTelemetry設定の追加
AEM プロジェクト リポジトリで、config/otel.yaml ファイルを作成します。 このチュートリアルのセルフホストプラットフォームでは、次の設定を使用します。
kind: "Otel"
version: "v1"
metadata:
envTypes:
- "dev"
- "stage"
- "prod"
data:
enabled: true
type: "generic"
endpoint: "https://my-self-hosted-observability.adobe.net"
authHeaderName: "Authorization"
authHeaderValue: "${{secrets.OTEL_CUSTOMER_AUTH}}"
metrics: true
logs: true
キー設定は次のとおりです。
metadata.envTypesenabledtrueに設定した場合の顧客テレメトリの書き出しを有効にします。typegeneric)を選択します。endpointauthHeaderNameAuthorization)。authHeaderValuemetricstrue時に指標の書き出しを有効にします。logstrue時にアプリケーションログの書き出しを有効にします。統合が有効になっている場合は、常に書き出しを追跡します。 指標とログはオプションです。 trueに設定されている場合にのみ書き出されます。
例えば、次のWKND サンプル設定を参照してください。
手順4:OpenTelemetry設定のデプロイ
config/otel.yamlファイルをコミットし、Config パイプラインがソースとして使用するリポジトリとブランチにプッシュします。- Cloud Managerで、環境用に Config Pipeline を作成または編集し、その詳細を確認します。
- パイプライン名を選択し、実行をクリックします。
- パイプラインが正常に完了するまで実行を監視します。
パイプラインは、宛先設定を適用する前に設定を検証します。
ステップ 5:AEMトラフィックの生成
パイプラインが完了したら、次のアプリケーションアクティビティを生成します。
- AEM パブリッシュサービスでWKND サイトまたはアプリケーションを開き、数ページ間を移動します。
- オプションで、オーサーサービスでWKND サイトを開いて、オーサーのテレメトリを生成します。
テレメトリが観測可能なプラットフォームに到達するまで数分待ちます。
手順6:観測可能プラットフォームでのテレメトリの検証
観測可能性プラットフォームを開き、テレメトリを探します。 トレース、指標、ログを見つける手順は、プラットフォームによって異なります。 次のスクリーンショットは、Grafana ベースのオブザーバビリティ プラットフォーム ダッシュボードのものです。
AEM サービスを探す
次のようなAEM サービス名を検索します。
cm-p<program>-e<environment>-aem-publish-<environment-type>
このチュートリアルで使用するセルフホストプラットフォームでは、パブリッシュサービスのテレメトリは次のように表示されます。
トレースの検査
WKND ページリクエストに一致するインバウンド HTTP リクエストのスパンを探します。 トレースを開き、リクエスト名、期間、および関連するスパンを確認します。
オブザーバビリティ プラットフォームでの
指標の調査
設定がmetrics: trueを設定しているので、メモリ使用量、ガベージコレクション期間、スレッド数、HTTP リクエスト期間などのJVMおよびHTTP指標を探します。
オブザーバビリティ プラットフォームの
ログの調査
設定がlogs: trueに設定されているため、AEM アプリケーション ログの保存先を確認してください。 統合は、サポートされている重要度(WARN以上)のしきい値でログを書き出すため、通常のページ訪問では、そのレベルでログエントリが生成されない場合があります。
オブザーバビリティ プラットフォームに
トラブルシューティング
Config Pipelineが失敗するか、テレメトリがオブザーバビリティ プラットフォームに表示されない場合は、パイプラインログを確認し、次の点を確認します。
metadata.envTypesにターゲット環境タイプ (dev、stage、またはprod)が含まれていることを確認してください。 不一致が発生すると、設定がエラーなしでスキップされます。OTEL_CUSTOMER_AUTHがCloud Manager シークレット環境変数として存在し、サービスが適用されたが すべて に設定されていることを確認します。 パイプライン変数であってはなりません。401または403)service.name個のフィルターを確認します。logs: trueが設定されており、AEM アプリケーションがWARN レベル以上のログエントリを生成したことを確認します。問題が解決しない場合は、Adobe サポートに連絡し、AEM プログラム ID、環境ID、設定パイプライン実行ID、正確なエラーメッセージ、オブザーバビリティ プロバイダーの詳細を提供してください。 認証資格情報または秘密値を含めないでください。
その他の設定例とトラブルシューティング情報については、OpenTelemetry製品ドキュメント を参照してください。
次の手順
AEM as a Cloud Service用にOpenTelemetryを設定し、WKND サンプルアプリケーションのテレメトリがオブザーバビリティプラットフォームで使用できることを確認しました。
このテレメトリを使用して、低速または失敗したリクエストを調査し、JVMおよびHTTP パフォーマンスを監視し、アプリケーションログをトレースと関連付けて、AEM アプリケーションの動作をより詳細に把握できるようになりました。
アプリケーション固有のロジックのテレメトリを拡張するには、OpenTelemetryを使用したカスタムインストルメンテーション を参照してください。
追加の設定オプション、サポートされるオブザーバビリティ プロバイダー、ネットワーク要件については、OpenTelemetry製品ドキュメント を参照してください。