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

2. デュアルモードの有効化

2 min

JVM コマンドラインにデュアルシグナルモードのフラグを追加して、アプリケーションを再起動します。

実行中のアプリケーションを停止する

フェーズ 1 のアプリケーションとロードジェネレーターを停止します

bash
kill %2 2>/dev/null   # stop load generator
kill %1 2>/dev/null   # stop the java app

Tip

kill %1 が動作しない場合は、ps aux | grep ingest-workshop で PID を確認し、直接 kill してください。

デュアルモードで再起動する

同じ AppD フラグに加えて、デュアルモードと OTel エクスポーターのフラグを追加してアプリケーションを再度実行します。フェーズ 1 で設定した ${APPD_ACCESS_KEY}${APPD_APP_NAME} の変数を同じ値で使用します

アプリケーションを起動する -jar app/target/ingest-workshop-1.0.0.jar & の直前に 4 行を追加しています。

bash
cd ~/workshop/appd

java -javaagent:agent/javaagent.jar \
  -Dappdynamics.controller.hostName=se-lab.saas.appdynamics.com \
  -Dappdynamics.controller.port=443 \
  -Dappdynamics.controller.ssl.enabled=true \
  -Dappdynamics.agent.applicationName=${APPD_APP_NAME} \
  -Dappdynamics.agent.tierName=OrderService \
  -Dappdynamics.agent.nodeName=OrderService-Node \
  -Dappdynamics.agent.accountName=se-lab \
  -Dappdynamics.agent.accountAccessKey=${APPD_ACCESS_KEY} \
  -Dagent.deployment.mode=dual \
  -Dotel.traces.exporter=otlp \
  -Dotel.exporter.otlp.endpoint=http://localhost:4318 \
  -Dotel.resource.attributes=service.name=OrderService,service.namespace=Dual-Ingest-${INSTANCE},deployment.environment=${INSTANCE}-appd-dual,deployment.environment.name=${INSTANCE}-appd-dual \
  -jar app/target/ingest-workshop-1.0.0.jar &

Spring Boot の起動バナーが表示されるまで待ちます。 Enter キーを押してプロンプトに戻ります。

新しいフラグの説明

フラグ目的
-Dagent.deployment.mode=dualデュアルシグナルモードを有効にし、完全な OTel Java 自動インストルメンテーションが AppD エージェントと並行して動作します
-Dotel.traces.exporter=otlpOTel インストルメンテーションに OTLP 経由でスパンをエクスポートするよう指示します
-Dotel.exporter.otlp.endpointポート 4318(HTTP/protobuf)のローカル OTel Collector を指定します
-Dotel.resource.attributesOTel リソース属性を設定しますservice.name は AppD ティアに、service.namespace は AppD アプリケーションにマッピングされ、deployment.environment/deployment.environment.name はワークショップインスタンスのデータにタグ付けします

ロードジェネレーターを再起動する

bash
while true; do
  curl -s localhost:8080/order > /dev/null
  curl -s localhost:8080/inventory > /dev/null
  sleep 2
done &

デュアルモードがアクティブであることを確認する

アプリケーションログでデュアルモードが開始されたことを確認します

bash
ps aux | grep "deployment.mode=dual"

deployment.mode=dual フラグが付いた Java プロセスが表示されるはずです。

AppDynamics エージェントは以下のデータを送信しています

Last Modified ·