ワークショップの概要

ユースケース、アーキテクチャ、前提条件、およびハイブリッドモードとデュアルシグナルモードの違いについて説明します。

5 minutes

ユースケース

あなたの組織では現在、APM として AppDynamics を使用しています。データの可視性とガバナンスの取り組みの一環として、経営層はアプリケーションパフォーマンスデータを Splunk Observability Cloud にも送信し、Splunk に既にあるインフラストラクチャメトリクス、ログ、その他のシグナルと統合されたビューをチームに提供したいと考えています。

すべてのサービスを別の OpenTelemetry SDK で再計装する代わりに、AppDynamics Java Agent はデュアルシグナルモードをサポートしています。単一のエージェントが AppDynamics APM データと OpenTelemetry トレースの両方を同時に生成します。これにより、AppDynamics の完全な機能を維持しながら、OpenTelemetry Collector を介して同じテレメトリを Splunk Observability Cloud にストリーミングできます。

これは、現在 AppDynamics を熟知し依存している L1 および L2 チームにとって特に役立ちます。デュアルインジェストにより、担当するアプリケーションやサービスがクラウドの SaaS プラットフォームでホストされる新しいサービスとより多く接続されるようになっても、コンテキストを維持できます。

学習内容

このワークショップを完了すると、以下のことができるようになります

アーキテクチャ

このワークショップでは、EC2 インスタンス上で Spring Boot Java アプリケーションを直接実行します。AppDynamics Java Agent は JVM プロセスにアタッチされます。

フェーズ 1: 通常の AppD 計装:

text
Java App + AppD Agent  ──▶  AppD Controller

フェーズ 2: デュアルシグナルモード有効化:

text
Java App + AppD Agent  ──▶  AppD Controller        (AppD protocol, unchanged)
                       ──▶  OTel Collector          (OTLP on localhost:4317)
                           Splunk Observability Cloud

OpenTelemetry Collector は同じ EC2 インスタンス上で実行され、エージェントから OTLP を受信し、トレースとメトリクスを Splunk Observability Cloud にエクスポートします。

注意: Collector を使用せずにエージェントから直接 OTLP インジェストエンドポイント にデータを送信することも可能ですが、OTel 設定で使用される一部の属性やアソシエーションが失われる可能性があります。

ハイブリッドモード vs デュアルシグナルモード

AppDynamics Java Agent は、OpenTelemetry データを出力するための2つのモードをサポートしています。

この違いを理解することが重要です!

ハイブリッドモード - 旧式 (GA, Java Agent 22.3+)

デュアルシグナルモード - 最新版 (Beta, Java Agent 25.6+)

このワークショップでデュアルモードを使用する理由

デュアルシグナルモードは、ハイブリッドモードにはない相関属性をルートスパンに追加します

属性説明
appd.app.nameAppDynamics アプリケーション名
appd.tier.nameAppDynamics ティア名(トレースの途中でティアが変わる場合にも表示されます)
appd.bt.nameAppDynamics ビジネストランザクション名
appd.request.guidAppDynamics リクエスト GUID

これらの属性により、グローバルデータリンクが有効になります。これは Splunk Observability Cloud のトレース上のクリック可能なリンクで、対応する AppDynamics のビューに直接ナビゲートできます。さらに、デュアルモードでキャプチャされた AppDynamics のスナップショットには、Data Collectors タブに OTel の TraceId が含まれるため、双方向のナビゲーションが可能になります。

前提条件

ワークショップインスタンスには必要なツールが事前設定されています

要件ワークショップインスタンスでの状態
Linux ホスト (Ubuntu)提供済み
OpenJDK 17インストール済み
Mavenインストール済み
ワークショップアセット~/workshop/appd/ にデプロイ済み

以下も必要です

要件取得方法
Splunk Observability Cloud アカウントインストラクターから提供されます
Splunk Access Token (Ingest)インスタンスで echo $ACCESS_TOKEN を実行
Splunk Realm (例: us0, us1, eu0)インスタンスで echo $REALM を実行
インスタンス名インスタンスで echo $INSTANCE を実行
AppDynamics Controller アクセスSE Lab Controller に Cisco 資格情報でログイン