0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Instana】Quote of the Day + Instana Agent セットアップ手順書

0
Last updated at Posted at 2026-08-28

はじめに

本手順書は、RHEL系 Linux VM 上に Quote of the Day(QotD) デモアプリを構築し、Instana Agent をホストにインストールして監視するまでの手順をまとめたものです。
Instanaでどのようなアプリを検知して、どんな障害が検知できるのかについて知りたい方におすすめです。

対象環境:RHEL系 Linux VM(dnf)/ docker run 方式/ 2026年8月27日 実証済み

全体の流れ

STEP 1  Docker のインストール
    ↓
STEP 2  Quote of the Day のクローン&起動(10コンテナ)
    ↓
STEP 3  Instana Agent のインストール(ワンライナー)
    ↓
STEP 4  ロードジェネレーターの起動(トラフィック生成)
    ↓
STEP 5  Anomaly Generator の起動(異常シナリオの実行)
    ↓
Instana UI でサービスマップ・エラー率・トレースを確認

アーキテクチャ概要

Linux VM(RHEL系)
├── Instana Agent(ホストインストール)
│   └── /proc + docker.sock 経由で全コンテナを自動検出・監視
│
├── Docker コンテナ群(docker run で個別起動)
│   ├── qotd-web        (フロントエンド)
│   ├── qotd-quote      (名言サービス)
│   ├── qotd-author     (著者サービス)
│   ├── qotd-image      (画像サービス)
│   ├── qotd-ratings    (評価サービス)
│   ├── qotd-pdf        (PDF サービス)
│   ├── qotd-engraving  (彫刻サービス)
│   ├── qotd-qrcode     (QRコード)
│   ├── qotd-db         (MySQL)
│   ├── qotd-usecase    (Anomaly Generator)
│   └── qotd-load-1/2   (ロードジェネレーター)
│
└── continuous_anomaly.sh(異常シナリオ自動ローテーション)

ポイント

  • k8s 不要:Docker Compose も不要で、docker run 方式で動作します
  • Agent はホストにインストールするだけで全コンテナを自動検出・APM トレース取得が可能
  • Application Perspective の設定不要で、ロード起動後すぐに All Services 画面にデータが表示されます
  • Anomaly Generator の既存シナリオ(1_cascade_failure 等)をそのまま利用できます

前提条件

項目 要件
OS RHEL / CentOS Stream / Fedora(dnf 系)
メモリ 4GB 以上推奨(実績:7.5GB、Agent が約460MB使用)
ネットワーク GitLab・Docker Registry・Instana バックエンドへの外部通信が可能
権限 root または sudo 権限
用意するもの Instana Agent Key/Download Key/バックエンドURL

STEP 1|Docker のインストール

# Docker リポジトリ追加
sudo dnf -y install dnf-plugins-core
sudo dnf config-manager --add-repo https://download.docker.com/linux/rhel/docker-ce.repo

# Docker インストール
sudo dnf install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin

# Docker 起動 & 自動起動設定
sudo systemctl start docker
sudo systemctl enable docker

# 一般ユーザーで使えるように
sudo usermod -aG docker $USER
newgrp docker

docker ps でエラーなく実行できれば OK!


STEP 2|Quote of the Day のクローン&起動

① リポジトリをクローン

git clone https://gitlab.com/quote-of-the-day/quote-of-the-day.git
cd quote-of-the-day

② 起動スクリプトの場所を確認

cd deploy/docker
ls
# → start_qotd.sh  start_load.sh

③ VM の IP アドレスを確認

アプリ起動のコマンドのために、VMIPの指定が必要なので、VMのIPアドレスを確認します。

hostname -I
# 例: 10.244.128.44 172.17.0.1
# ※ 172.17.x.x は Docker 内部NW なので使わない

④ アプリを起動(初回はイメージダウンロードで5〜10分かかります)

bash start_qotd.sh <VM_IP>
# 例:
bash start_qotd.sh 10.×××.×××.××

⑤ 全コンテナの起動確認

docker ps
コンテナ名 役割 ポート
qotd-web フロントエンド 3000
qotd-quote 名言サービス 3001
qotd-author 著者サービス 3002
qotd-image 画像サービス 3003
qotd-ratings 評価サービス 3004
qotd-pdf PDF サービス 3005
qotd-engraving 彫刻サービス 3006
qotd-qrcode QRコード 9080
qotd-db MySQL 3306
qotd-usecase Anomaly Generator 3012

✅ 確認:10コンテナ全て Up になっていれば起動成功


STEP 3|Instana Agent のインストール(ワンライナー)

① Instana UI からワンライナーを取得

Instana UI → 左メニュー下部「...」→ Install Agent → Linux → One-Liner からキー入りコマンドをコピー

② ワンライナーを実行

コピペでコマンド実行!インストール完了まで5分ほどかかります。
スクリーンショット 0008-08-27 23.29.33.png

③ Agent の起動確認

sudo systemctl status instana-agent
# → Active: active (running) であれば OK

④ バックエンドへの接続確認

sudo grep -E "Connected|ERROR" /opt/instana/agent/data/log/agent.log | tail -5
# → "Connected using HTTP/2 to ..." が出れば接続成功

✅ 確認:Instana UI の Infrastructure 画面にホスト名が表示されれば完了


STEP 4|ロードジェネレーターの起動

Applications 画面にデータを表示するにはトラフィックが必要です。
load_generatorスクリプトを実行することで、アプリの負荷をかけ続けます。

cd quote-of-the-day/deploy/docker
bash start_load.sh <VM_IP>
# 例:
bash start_load.sh 10.×××.×××.××

load_generator.shの動き
ロードジェネレーター(load_generator.sh)は、スクリプトの中にdocker run-dコマンドなどがあり、 docker run -d で起動するため、ターミナルを閉じても動き続けます(nohup 不要)

# ロードコンテナの確認
docker ps | grep load
# → qotd-load-1, qotd-load-2 が Up であれば OK

STEP 5|Anomaly Generator の起動(任意)

① 既存シナリオの確認

curl http://127.0.0.1:3012/usecase

② シナリオを手動起動

# リセット
curl -X POST http://127.0.0.1:3012/reset

# シナリオ起動
curl -X POST http://127.0.0.1:3012/activate/1_cascade_failure
シナリオID 内容
1_cascade_failure Quote→PDF→Web→Ratings のカスケード障害
2_ratings Ratings サービス全般の障害(500/404エラー・レイテンシ増加)
3_quote_pdf_issues Quote・PDF の CPU/メモリ急騰

③ 継続的ループ実行(バックグラウンド)

continuous_anomaly.sh を VM 上に配置して実行します。
これは、備え付けのAnomalyGeneratorからjsonで作成。

# nohup でバックグラウンド起動(ターミナルを閉じても動き続ける)
nohup bash ~/continuous_anomaly.sh > ~/anomaly.log 2>&1 &

# ログ確認
tail -f ~/anomaly.log

# 停止
kill $(pgrep -f continuous_anomaly)

# 手動リセット
curl -X POST http://127.0.0.1:3012/reset

continuous_anomaly.sh はシェルスクリプトのため、nohup が必要(ロードジェネレーターとの違い)


Instana UI 確認ポイント

画面 確認内容 表示タイミング
Infrastructure ホスト・Docker コンテナ一覧 Agent 起動後 3〜5分
Applications → All Services → サマリー 呼び出し数・エラー率・レイテンシ ロード起動後 1〜2分
Applications → All Services → 依存関係 サービスマップ ロード起動後 数分
Analytics → Calls 個別トレース・エラートレース ロード起動後すぐ

トラブルシューティング

症状 確認コマンド 対処
docker ps でコンテナが出ない systemctl status docker Docker を起動する
start_qotd.sh が not found ls deploy/docker/ deploy/docker/ ディレクトリに移動してから実行
Agent が接続できない grep ERROR /opt/instana/agent/data/log/agent.log Agent Key・エンドポイント URL を確認
Applications に何も出ない docker ps | grep load start_load.sh を実行してトラフィックを流す
Anomaly が効かない curl http://127.0.0.1:3012/usecase /activate/:id のエンドポイントを使う
エラー率が見えない(All Services) Instana UI 右上フィルターを確認 「インバウンド呼び出し」→「すべての呼び出し」に変更する

ハマったポイント
Helmでのエージェントインストールでは QotD が見えず、OSへ直接インストールしたAgent(ワンライナー)では見えた。

コンテナやから一緒じゃないの?と思ったので整理。

理由

QotD は Docker、Helm Agent は Kubernetes を見ていたため、監視対象のランタイムが一致していなかった。
Helm Agentは、k3sのdefaultを指定してその中のみ見ていた。

RHEL VM
│
├─ Docker Engine
│   ├─ qotd-web
│   ├─ qotd-quote
│   ├─ qotd-author
│   ├─ qotd-ratings
│   └─ ...
│
└─ Kubernetes / k3s
    └─ containerd
        └─ instana-agent Pod
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?