閉域環境へのSplunk AppDynamics Private Synthetic Agent の導入
はじめに
本記事では、Splunk AppDynamics Private Synthetic Agent(以下 PSA)を筆者の閉域環境へ実際に新規インストールしてみた際の記録を共有します。インストールに当たっては、次の資料を参考にします。
以下、本記事では PSA の概要、前提、アーティファクトの準備、インストール、簡単な動作確認について記載します。
PSAの概要
PSA は、自社のネットワーク内や特定のデータセンター内に配置できる外形監視用のエージェントです。
これを利用することにより、閉域環境内においてユーザーの操作をシミュレートしたパフォーマンス測定や可用性チェックを行うことができます。ここで言う閉域環境とは、パブリックな監視拠点からはアクセスできない環境、あるいはファイアウォール内の環境です。
参考までに、Splunk AppDynamics の外形監視用エージェントには PSA 以外にも、Synthetic Hosted Agent があります。両者の特徴を比べた表を記載します。
| 項目 | PSA | Synthetic Hosted Agent |
|---|---|---|
| 管理主体 | ユーザー(自社) | Splunk |
| 設置場所 | 自社データセンター、社内LAN | AWS、Azure |
| 主な監視対象 | 制限されたネットワーク内のWebサイト・API | 公開されているWebサイト・API |
| 導入の手間 | 必要(PSA動作用サーバーの準備とインストールが必要) | 不要(設定のみですぐ利用可能) |
| インフラ費用 | ユーザー側でサーバー維持費を負担 | ライセンス料金に含まれる |
| ネットワーク制限 | 閉域環境内で動作可能 | インターネット経由のアクセスが必要 |
本記事では PSA を使います。
前提
本記事では次のことを前提とします。
- 本記事の対象読者は PSA の導入を検討しているインフラエンジニア・SRE・アプリケーション開発者
- PSA の動作プラットフォームを大きく分けると Docker と Kubernetes になるが、本記事では Docker を使用する
- PSA のバージョンとしては、本執筆(2026 年 1 月 20 日)時点の最新版である 25.11.0 を使用
- このバージョンのアーティファクト(PSA Docker イメージとインストール用 zip ファイル)を入手できること
- PSA 動作用サーバーを準備できること
- 同サーバーの必要ハードウェアスペックについては、PSAハードウェア要件のページのうち次の箇所を参照
- Docker の表
- Number of Measurement Containers
- 同サーバーの OS としては、本記事では RHEL 10 を使用
- Docker Engine と Docker Compose plugin は既にインストール済み
- Docker Engine のデーモンプロセス(
dockerd)は既に起動済み
- 同サーバーの
/rootディレクトリー以下に、次のアーティファクト 2 点が既に配置されていること- PSA Docker イメージ: Pre-built Private Synthetic Agent Docker Images (zip)
- インストール用 zip ファイル: Private Synthetic Agent for web monitoring
- 同サーバーの必要ハードウェアスペックについては、PSAハードウェア要件のページのうち次の箇所を参照
- PSA 動作用サーバーから接続可能な Splunk AppDynamics プラットフォームがあること
- PSA の接続先となる Shepherd URL と、そのための認証情報(EUM アカウント名とアクセスキー)を知っていること
- その Splunk AppDynamics プラットフォームには、PSA 動作に必要なライセンスが既にプロビジョニングされていること
- PSA 動作用サーバーから接続可能なテスト対象(例: 任意のウェブサーバー)があること
- PSA のインストール後、本記事では PSA による機能のうち Browser Synthetic Monitoring だけを簡単な動作確認対象とする
- 本記事ではセキュリティーあるいは記述量削減のため、設定ファイルやコマンド入出力における一部の情報を「■」あるいは「(中略)」へ置換して記載する
アーティファクトの準備
まずは、PSA 動作用サーバーへログインし、root ユーザーになります。そして、前提に記載したアーティファクトのファイル 2 点が既に配置されていることを確認します。
$ sudo su -
# ls -l
total 1294724
-rw-r--r--. 1 root root 592099 Jan 20 16:58 synthetic-agent-25.11.0.301.zip
-rw-r--r--. 1 root root 1325200092 Jan 20 16:58 synthetic-zipped-agent-linux_amd64-25.11.0.zip
続いて任意の作業用ディレクトリーを作り、そこに PSA Docker イメージの zip ファイルを展開します。
# mkdir synthetic-zipped-agent-linux_amd64-25.11.0
# unzip synthetic-zipped-agent-linux_amd64-25.11.0.zip -d synthetic-zipped-agent-linux_amd64-25.11.0/
Archive: synthetic-zipped-agent-linux_amd64-25.11.0.zip
creating: synthetic-zipped-agent-linux_amd64-25.11.0/synth-agents/
inflating: synthetic-zipped-agent-linux_amd64-25.11.0/synth-agents/ignite-2.16.0-jdk11.tar
inflating: synthetic-zipped-agent-linux_amd64-25.11.0/synth-agents/heimdall-25.11.3505.tar
inflating: synthetic-zipped-agent-linux_amd64-25.11.0/synth-agents/api-monitoring-agent-1.0-456.tar
inflating: synthetic-zipped-agent-linux_amd64-25.11.0/synth-agents/chrome-agent-1.0-1242.tar
そして、PSA Docker イメージ 4 個をロードします。
# cd synthetic-zipped-agent-linux_amd64-25.11.0/synth-agents/
# docker load -i api-monitoring-agent-1.0-456.tar
Loaded image: ■.dkr.ecr.us-west-2.amazonaws.com/sum/api-monitoring-agent:1.0-456
# docker load -i chrome-agent-1.0-1242.tar
Loaded image: ■■■■■■■■■■■■.dkr.ecr.us-west-2.amazonaws.com/sum/chrome-agent:1.0-1242
# docker load -i heimdall-25.11.3505.tar
Loaded image: ■■■■■■■■■■■■.dkr.ecr.us-west-2.amazonaws.com/sum/heimdall:25.11.3505
# docker load -i ignite-2.16.0-jdk11.tar
Loaded image: apacheignite/ignite:2.16.0-jdk11
イメージ 4 個が無事にロードできたことを確認します。
# docker image ls
i Info → U In Use
IMAGE ID DISK USAGE CONTENT SIZE EXTRA
■■■■■■■■■■■■.dkr.ecr.us-west-2.amazonaws.com/sum/api-monitoring-agent:1.0-456 ba28df0893e0 332MB 156MB
■■■■■■■■■■■■.dkr.ecr.us-west-2.amazonaws.com/sum/chrome-agent:1.0-1242 957c60204ea2 4GB 1.98GB
■■■■■■■■■■■■.dkr.ecr.us-west-2.amazonaws.com/sum/heimdall:25.11.3505 310f7f26f141 906MB 452MB
apacheignite/ignite:2.16.0-jdk11 b85f2785115e 785MB 389MB
ここで出力された次の値は、インストールのステップで参照します。
-
■■■■■■■■■■■■.dkr.ecr.us-west-2.amazonaws.com/sum/api-monitoring-agent:1.0-456…① -
■■■■■■■■■■■■.dkr.ecr.us-west-2.amazonaws.com/sum/chrome-agent:1.0-1242…② -
■■■■■■■■■■■■.dkr.ecr.us-west-2.amazonaws.com/sum/heimdall:25.11.3505…③
ホームディレクトリーへ戻り、別のアーティファクト向けの作業用ディレクトリーを作った後、そこにインストール用 zip ファイルを展開します。
# cd
# mkdir synthetic-agent-25.11.0.301
# unzip synthetic-agent-25.11.0.301.zip -d synthetic-agent-25.11.0.301/
Archive: synthetic-agent-25.11.0.301.zip
extracting: synthetic-agent-25.11.0.301/ignite-psa.tgz
inflating: synthetic-agent-25.11.0.301/install_psa
inflating: synthetic-agent-25.11.0.301/monitoring_psa
creating: synthetic-agent-25.11.0.301/sum-heimdall/
creating: synthetic-agent-25.11.0.301/sum-heimdall/docker-PSA/
inflating: synthetic-agent-25.11.0.301/sum-heimdall/docker-PSA/docker-compose.yaml
creating: synthetic-agent-25.11.0.301/sum-heimdall/docker-PSA/appdynamics/
inflating: synthetic-agent-25.11.0.301/sum-heimdall/docker-PSA/appdynamics/application-onprem.yml
extracting: synthetic-agent-25.11.0.301/sum-psa-heimdall.tgz
inflating: synthetic-agent-25.11.0.301/sum-psa-monitoring.tgz
inflating: synthetic-agent-25.11.0.301/uninstall_psa
inflating: synthetic-agent-25.11.0.301/upgrade_psa
これでアーティファクトの準備ができたことになります。
インストール
実際に PSA のインストールをしていきます。そのため、まずはインストール用 zip ファイルの展開先ディレクトリーのうち、sum-heimdall/docker-PSA/appdynamics/ サブディレクトリーへ移動します。
# cd synthetic-agent-25.11.0.301/sum-heimdall/docker-PSA
そして、そのディレクトリー以下にあるファイル appdynamics/application-onprem.yml をテキストエディターで開き、次の値を変更して保存します。
| キー | 変更後の値 |
|---|---|
shepherd -> url
|
Shepherd URL |
shepherd -> credentials -> eumAccount
|
EUMアカウント名 |
shepherd -> credentials -> eumKey
|
EUMアクセスキー |
shepherd -> registration -> location -> code
|
ロケーションコード(例: PSA-1) |
shepherd -> registration -> location -> name
|
ロケーション名(例: PSA 1) |
chrome -> image
|
②の値 |
api -> image
|
①の値 |
もし本番環境を想定した場合、要件によっては上記以外の値で変えるべき箇所があるでしょうが、本記事では簡単な動作確認が出来れば良いため、上記値だけを変更します。
続いて、docker-compose.yaml をテキストエディターで開き、次の値を変更して保存します。
| キー | 変更後の値 |
|---|---|
services -> heimdall -> image
|
③の値 |
これによりインストールにて使う設定ファイルの変更が終わりましたので、次は PSA を起動してみます。
# docker compose up -d
WARN[0000] /root/synthetic-agent-25.11.0.301/sum-heimdall/docker-PSA/docker-compose.yaml: the attribute `version` is obsolete, it will be ignored, please remove it to avoid potential confusion
WARN[0000] No services to build
[+] up 3/3
✔ Network docker-psa_measurement Created 0.1s
✔ Container ignite Created 0.1s
✔ Container heimdall 0.0s
[+] up 3/3 のように表示されれば OK です。上記例には警告が 2 件でていますが、これらは無視して問題ありません。
また必要でしたら、2 階層上のディレクトリーにある monitoring_psa スクリプトを実行すると、PSA 関連コンテナーが動いているかどうかを確認できます。
# ../../monitoring_psa
----------------------------
| Service | Status |
----------------------------
| Ignite | running |
| Heimadall | running |
----------------------------
NAME CPU % MEM USAGE / LIMIT MEM %
heimdall 0.30% 456.5MiB / 7.298GiB 6.11%
ignite 0.38% 409.6MiB / 7.298GiB 5.48%
Ignite と Heimadall どちらも status が running となっていれば OK です。これでインストールが終わりました。
簡単な動作確認
最後に簡単な動作確認をしましょう。
PSA 動作用サーバーが接続している Splunk AppDynamics プラットフォームにて、Browser Synthetic Monitoring のジョブ作成画面を開きます。Browser Synthetic Monitoringジョブ作成のマニュアルを参考にして、ジョブを作成します。ロケーションには、インストール時に設定したロケーション名を選択します。この画面で目的のロケーション名が選択できない場合、PSA が正常に接続できていない可能性があります。

その他、ジョブ作成に必要な情報を入力し、最後に Save ボタンを押します。

Save ボタン押下後にエラーがでなければ OK です。
数分待ってから、ジョブの実行結果が表示されるのを確認しましょう。

ここでは、ジョブの実行結果が緑または赤色になれば OK です。緑の場合は外形監視結果に問題なし、赤の場合は問題ありですが、いずれにしても PSA そのものは動いていることになります。
この画面のジョブの行をダブルクリックすると、そのジョブが実行したセッションの一覧画面が開きます。

セッションの一覧が表示されれば OK です。これにより動作確認は完了とします。
まとめ
本記事では、Splunk AppDynamics PSA の概要、前提について説明し、その後アーティファクトの準備、インストール、簡単な動作確認を実際に行ってみました。
PSA を使うことにより、閉域環境内においてユーザーの操作をシミュレートしたパフォーマンス測定や可用性チェックを行うことができます。
また本記事では実施しませんでしたが、設定によっては PSA のセッションから Application Performance Monitoring(APM)の画面へと連携できます。これによりフロントエンドからバックエンドまで、エンドツーエンドでの障害対応ができます。
Discussion