
1. はじめに
Proxmox VE (PVE)を運用していると、基盤環境の監視が必要になって来ると思います。
監視ツールの定番といえばZabbixやGrafana + Prometheusですが、それらのツールは「PVEだけを監視したい」という用途には少し大げさに感じることもあります。
そこで今回は、PVE向けの軽量監視ツール「Pulse」を見つけたので紹介します。必要最小限の機能に絞られており、小規模な環境でも気軽に導入できるのが特徴です。
1.1 Pulseとは
公式の紹介文を引用すると、Pulseは以下のように説明されています。
Pulseは、Proxmox、Docker、Kubernetesを統合的に監視できるモダンなダッシュボードツールです。
複数のシステムからメトリクス、アラート、AI駆動のインサイトを一つの画面に集約し、「単一管理画面」を実現します。
ホームラボ、システム管理者、MSP(マネージドサービスプロバイダー)向けに設計されており、エンタープライズ向け監視ツールのような複雑さはありません。
できること
- 統合監視
- Proxmox VE/Proxmox Backup Server/Proxmox Mail Gateway、Docker/Podman、Kubernetesを一画面で管理
- ネットワーク上のProxmoxノードを自動検出
- メトリクス履歴データを保持し、長期的なパフォーマンス分析が可能
- バックアップジョブとストレージ使用状況の可視化
- アラート通知
- スマートアラート機能
- メール、Apprise、Webhookによる通知に対応
セキュリティ
- 認証情報は暗号化して保存
- テレメトリー送信なし、すべてのデータは自分のサーバー内で管理
- OIDC/SSOによるシングルサインオン認証に対応
AI機能(オプション)
- Claude、OpenAI、DeepSeek、Geminiなど、自分のAPIキー(BYOK: Bring Your Own Key)を使用するAI機能も搭載:
- チャットアシスタント:自然言語でインフラの状態を質問
- パトロール機能:定期的な自動ヘルスチェックを実行
- コスト追跡:AI利用量とコストの可視化
PVE環境といわず監視ツールとしては、ZabbixやGrafana + Prometheusが定番ですが、小規模な環境では少し大げさに感じることがあります。
そこで今回は、軽量でセットアップが簡単なPulseを、PVEのLXCコンテナにインストールして試してみました。この記事では、実際の導入手順から基本的な使い方まで、ハマったポイントも含めて紹介します。
2. 事前準備
2.1 動作環境とインストール方法
確認したバージョン
- 今回の検証環境では以下のバージョンで動作を確認しています
- Proxmox VE 9.1.5
- Pulse 5.1.2
インストール方法
- Pulseには以下のインストール方法が用意されています:
- Docker版:Docker/Podman環境で動作
- ネイティブインストール版:直接OSにインストール
- PVE LXCコンテナ版:自動インストーラーで簡単導入(本記事で採用)
本記事では、PVE環境に最適化されており、リソース効率も良いLXCコンテナ版を使用します。
必要なリソース
- ドキュメント上には明記されていませんが、PVEホストに影響を与えるほどリソースを消費することはありませんでした。
- インストールスクリプトを実行すると、以下のスペックでLXCコンテナが自動作成されます:
- CPU:4 vCPU
- メモリ:1 GB
- ストレージ:8 GB
ネットワーク設定
- アクセスポート:7655/tcp(ただし構築時に変更可能)
- ファイアウォール:Proxmox VEホストまたはネットワーク機器で7655/tcpを開放する必要があります
- IPv6対応:LXCコンテナ版では問題なく動作します(Docker版は未検証)
その他の要件
- Proxmox VE APIトークン
- これはノード追加時に自動的に作成されます
3. インストール手順
3.1 Pulse LXCコンテナの作成とインストール
PVEホストのシェルで以下のコマンドを実行します。
curl -fsSL https://github.com/rcourtman/Pulse/releases/latest/download/install.sh | bash
インストールスクリプトが起動すると、いくつかの設定項目を聞かれます。
インストールモードの選択
=================================================
Pulse Installation Script
=================================================
Proxmox VE detected. Installing Pulse in a container.
Installation mode:
1) Quick (recommended)
2) Advanced
3) Cancel
Select [1-3]:
- 推奨の「1(Quick)」を選択します。
コンテナIDとポート番号
[INFO] Using container ID: 100
Port [7655]:
- アクセスポートの指定です。特別な理由がなければデフォルトの「7655」のままEnterを押します。
自動アップデートの設定
Enable automatic updates?
Pulse can automatically install stable updates daily (between 2-6 AM)
Enable auto-updates? [y/N]:
- Pulseの自動アップデートを有効にするか確認されます。有効にする場合は「y」を入力します。
- この設定は後からWeb UIのサーバー設定画面で変更可能です。
VLAN設定
VLAN ID (press Enter for no VLAN):
- VLAN環境で使用する場合はVLAN IDを入力します。通常の環境ではそのままEnterを押します。
ネットワークブリッジの選択
Available network bridges:
1) vmbr0
2) fwbr102i0
3) fwbr103i0
...
Select network bridge [1]:
- LXCコンテナが使用するネットワークブリッジを選択します。通常は「1(vmbr0)」を選択します。
ストレージプールの選択
Available storage pools:
1) intel-lvm-thin lvmthin 136.6 GB free of 233.6 GB (41.54% used)
2) local-lvm lvmthin 218.2 GB free of 349.3 GB (37.52% used)
Select storage pool [1]:
- LXCコンテナが使用するストレージプールを選択します。空き容量を確認して適切なものを選択してください。
インストールの実行
- 選択が完了すると、自動的にインストールが開始されます。
[INFO] Detected latest Debian template version: debian-12-standard_12.12-1_amd64.tar.zst
[INFO] Creating container...
[INFO] Starting container...
[INFO] Waiting for network...
[INFO] Installing dependencies...
[INFO] Installing Pulse...
- ベースであるDebianテンプレートのダウンロード、コンテナ作成、依存パッケージのインストールが順次実行されます。
インストール完了とブートストラップトークン
- インストールが完了すると、以下のような画面が表示されます。
[SUCCESS] Pulse installation completed!
Access Pulse at: http://192.168.122.112:7655
╔═══════════════════════════════════════════════════════════════════════╗
║ BOOTSTRAP TOKEN REQUIRED FOR FIRST-TIME SETUP ║
╠═══════════════════════════════════════════════════════════════════════╣
║ Token: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx ║
║ File: /etc/pulse/.bootstrap_token ║
╠═══════════════════════════════════════════════════════════════════════╣
║ Copy this token and paste it into the unlock screen in your browser. ║
║ This token will be automatically deleted after successful setup. ║
╚═══════════════════════════════════════════════════════════════════════╝
インストール後の確認
[SUCCESS] Pulse installation complete!
Web UI: http://192.168.1.112:7655
Container: 100
Node: Registered m75q in Pulse
Common commands:
pct enter 100 # Enter container
pct exec 100 -- update # Update Pulse
- Web UI URL: ブラウザでアクセスするアドレス
- Container ID: 作成されたLXCコンテナのID
- Node: PVEノードが自動的に登録されていることを確認
これでLXCコンテナのインストールは完了です。
3.2 初回アクセスとセットアップ
ブラウザで表示されたWeb UI URL(例:http://192.168.1.112:7655)にアクセスします。
ブートストラップトークンの入力
初回アクセス時は、以下の「Unlock Setup」画面が表示されます。

インストール時に表示されたブートストラップトークンを入力します。
トークンを忘れた場合は、PVEホストで以下のコマンドを実行して確認できます:
pct exec 100 -- cat /etc/pulse/.bootstrap_token
トークンを入力したら「Continue」ボタンをクリックします。
管理者アカウントの作成
次に「Secure Your Dashboard」画面が表示されます。

- Username(ユーザー名)
- デフォルトで「admin」が入力されていますが、必要に応じて変更可能
- Password(パスワード)
- 2つの選択肢:
- Generate Secure(推奨): 安全な16文字のパスワードを自動生成
- Custom Password: 独自のパスワードを設定
- 2つの選択肢:
「Generate Secure」を選択した場合、セットアップ完了後に生成されたパスワードが表示されます。
設定が完了したら「Create Account」ボタンをクリックします。
セキュリティ設定の完了とPVEノードの追加
アカウント作成が完了すると「Security Configured」画面が表示されます。

この画面では以下の情報が表示されます:
- Smart Auto-Detection(スマート自動検出)
- インストーラーが自動的に検出したサービス
- Docker:コンテナ監視
- Kubernetes:クラスタ監視
- Proxmox:VM & コンテナAPI(常に有効)
- Host Metrics(ホストメトリクス)
- CPU、メモリ、ディスク、ネットワークの監視(常に有効)
- Linux/macOS/Windowsに対応
Install Command(インストールコマンド)
他のホストを監視対象に追加したい場合は、表示されているコマンドを対象ホストで実行します:
curl -sSL http://192.168.1.112:7655/install.sh | bash -s -- --url "http://192.168.1.112:7655" --token "xxxxxxxxxx"
エージェントは自動的にPulseに登録されます。必要に応じて「New Token」ボタンで新しいトークンを生成できます。
Your Credentials(認証情報の保存)
「Save these」ボタンをクリックすると、管理者の認証情報が表示されます。
すぐにエージェントをインストールしない場合は「Skip for Now」をクリックしてダッシュボードに進みます。
エージェントは後から「Settings」画面で追加できます。
これで初期セットアップは完了です。次はPVEとの連携設定を行います。
3.3 Proxmox VE API設定
初期セットアップが完了したら、PVEとの連携を設定します。
Pulseの接続設定
インストール時に自動登録されたノードは「API Only」モードになっているため、推奨される「Agent Install」方式で設定し直すことをおすすめします。
既存ノードの削除(推奨)
- Pulse Web UIで「Settings」→「Proxmox」→「Virtual Environment」に移動
- 自動登録されたノードを削除
新規ノードの追加
「Add Node」ボタンをクリックして、以下の設定を行います。
Basic Information(基本情報)
- Node Name: Proxmoxノードの識別名(例:
PVE01) - Host URL: Proxmox VE Web UIのURL
https://192.168.1.254:8006
Authentication(認証方式)
- 「API Token」を選択します(Recommended表示あり)
Quick Token Setup(推奨設定)
3つの方式から選択できます:
- Agent Install(Recommended)
- API Only ← 今回はこれを選択
- Manual
この時点でQuick Token Setupにて「」をクリックすると、PVEホストで実行すべきワンライナーコマンドが表示されるので、これを追加したいPVEホストのシェルで実行してください。Click the copy button to generate the setup command
これを実行すると以下のようにインストールするかどうかの確認が入るので「1」を入力する必要があります。
# curl -sSL "http://192.168.1.112:7655/api/setup-script?type=pve&host=https%3A%2F%2F192.168.122.254%3A8006&pulse_url=http://192.168.1.112:7655&backup_perms=true" | PULSE_SETUP_TOKEN=<TOKEN> bash
============================================
Pulse Monitoring Setup for Proxmox VE
============================================
Detected Proxmox VE host environment.
What would you like to do?
[1] Install/Configure - Set up Pulse monitoring
[2] Remove All - Uninstall everything Pulse has configured
[3] Cancel - Exit without changes
Your choice [1/2/3]: 1
Proceeding with installation...
Creating monitoring user...
Generating API token...
API token generated successfully
Setting up permissions...
• Applied privileges: Sys.Audit VM.GuestAgent.Audit
Node registered successfully
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Temperature Monitoring Setup (Optional)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
bash: 行 497: -j,no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty ssh-ed25519 <SSH-KEY> # pulse-sensors: コマンドが見つかりません
📊 Enable Temperature Monitoring?
Collect CPU and drive temperatures via secure SSH connection.
Security:
• SSH key authentication with forced command (sensors -j only)
• No shell access, port forwarding, or other SSH features
• Keys stored in Pulse service user's home directory
Enable temperature monitoring? [y/N]
> y
Configuring temperature monitoring...
✓ Sensors key configured (restricted to sensors -j)
✓ lm-sensors package verified
✓ Temperature monitoring enabled
Temperature data will appear in the dashboard within 10 seconds
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Setup Complete
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Node successfully registered with Pulse monitoring.
Data will appear in your dashboard within 10 seconds.
これが成功すると一旦Pulseにノード追加され、画面が遷移します。一応、再度以下の設定部分を見直します。
SSL Settings(SSL設定)
- Verify SSL certificate: 自己署名証明書を使用している場合はチェックを外す
- SSL Fingerprint(オプション): 自己署名証明書使用時のフィンガープリント
Advanced Monitoring(高度な監視)
- Monitor physical disk health (SMART): 物理ディスクの健全性監視
- Poll every: 5分ごと(デフォルト)
- Temperature monitoring: 温度監視
- Pulse sensorsキーまたはプロキシを使用してCPU/NVMe温度を読み取ります
- センサーデータがない場合や未デプロイの場合は無効化してください
接続テスト
設定が完了したら「Test Connection」ボタンをクリックして接続を確認します。
- 成功すると「Connected to PVE cluster with 1 nodes」と表示されます
- エラーが出る場合は、Host URLとAPIトークン情報を再確認してください
問題がなければ「Add Node」ボタンをクリックして設定を保存します。
Agentインストール
- API Tokenのための名前を入力する
- 「Generate token」をクリックする
- Skip TLS certificate verification (self-signed certs; not recommended)、Enable Pulse command execution (for Patrol auto-fix)のそれぞれチェックを入れます
- 「Install on Linux」に表示されているコマンドをコピーし、PVEホストのシェルで実行する
- 無事に追加できると「Managed Agents」に実行したホストが表示されていることを確認します
これでPVEとの連携設定は完了です。
3.4 動作確認
PVEノードの登録が完了したら、ダッシュボードで監視状況を確認します。
ダッシュボードへのアクセス
左メニューから「Proxmox」-> 「Overview」「Storage」などを選択すると、以下の情報が表示されます:
- ノード一覧: 登録されたProxmoxノードの状態
- リソース使用状況: CPU、メモリ、ストレージの使用率
- VM/コンテナ一覧: 稼働中の仮想マシンとコンテナ
- アラート: 検出された問題(あれば)
確認すべきポイント
- Proxmoxノードが「Online」状態になっているか
- CPU使用率、メモリ使用量が正しく表示されているか
- 稼働中のVM/コンテナが一覧に表示されているか
正常に表示されていれば、Pulseの基本的なセットアップは完了です。
4. 設定とカスタマイズ
基本的な監視環境が構築できたら、自分の環境に合わせて設定をカスタマイズしましょう。
4.1 監視設定
監視間隔の調整
「Settings」→「System」→「General」に移動し、「Monitoring cadence」で監視間隔を選択します。

データ保持期間
- 現時点では、データ保持期間の設定項目はWeb UIにはなく設定ファイルを直接編集する必要があるようです。
- Default retention values (subject to change) are:
- Raw: 2 hours
- Minute: 24 hours
- Hourly: 7 days
- Daily: 90 days
監視対象の管理
PVEの監視対象はノード単位で管理されます。
- ノードの追加: 「Settings」→「Proxmox」→「Virtual Environment」→「Add Node」
- ノードの削除: 各ノードの設定から削除可能
個別のVM/コンテナを監視対象から除外する設定は、現時点では確認できませんでした。ノードを追加すると、そのノード上のすべてのリソースが自動的に監視対象になります。
4.2 アラート設定
アラート機能の有効化
デフォルトではアラートが無効になっているため、まず有効化します。
- 「Alerts」→「Alerts Overview」に移動
- 「Alerts disabled」と表示されているスイッチをクリック
- 「Enabled」に切り替える
アラート閾値の設定
「Configuration」→「Thresholds」で各種しきい値を設定できます。
VM/コンテナのリソース監視

- Disk Read/Write: ディスクI/Oの閾値
- Network In/Out: ネットワークトラフィックの閾値
- Offline Alerts: VM/コンテナ/ノードがオフラインになった場合の通知
Guest Filtering(監視対象のフィルタリング)
特定のVM/コンテナを監視対象から除外したり、タグで絞り込むことができます:
- Ignore prefixes: プレフィックスで除外(例:
test-で始まるVM/CTを除外) - Tag whitelist: 指定したタグを持つVM/CTのみ監視
- Tag blacklist: 指定したタグを持つVM/CTを監視対象から除外
バックアップ監視
バックアップの実行状況を監視します。デフォルトでは無効になっているため、必要に応じて有効化してください。

スナップショット監視
古いスナップショットの検出ができます。デフォルトでは無効です。

ストレージデバイス

通知先の設定
アラートが発生した際の通知方法を設定します。「Configuration」→「Notifications」から設定できます。
メール通知
Pulseは多数のメールサービスに対応しており、テンプレートが用意されています:
対応サービス
- Gmail / Google Workspace (smtp.gmail.com:587)
- SendGrid (smtp.sendgrid.net:587)
- Mailgun (smtp.mailgun.org:587)
- Amazon SES (US East) (email-smtp.us-east-1.amazonaws.com:587)
- Microsoft 365 / Outlook (smtp.office365.com:587)
- Postmark (smtp.postmarkapp.com:587)
- Custom SMTP Server (587)
- などなど
設定手順(Mailgunの例)
- 「Configuration」→「Notifications」に移動
- メール通知セクションで「Mailgun」を選択
- 必要な情報を入力:
- SMTP Host: smtp.mailgun.org
- SMTP Port: 587
- Username: Mailgunで取得したSMTPユーザー名
- Password: Mailgunで取得したSMTPパスワード
- From Address: 送信元メールアドレス
- To Address: 通知先メールアドレス
- 「Test」ボタンでテスト送信
- 問題なければ「Save」で保存
アラートメールの内容
設定が完了すると、アラート発生時に以下のような内容のメールが届きます:

その他の通知方法
Apprise
- Discord、Slack、Telegram、LINE、Mattermostなど、多数のサービスに対応している。
- Appriseを使用し設定することで、簡単に連携できる。
Webhook
- カスタムWebhookエンドポイントを設定することで、独自の通知システムと連携できそう。
- JSON形式でアラート情報が送信されるため、自動化スクリプトとの連携も可能できそう。
4.3 ダッシュボードのカスタマイズ
Pulseのダッシュボードは、表示方法や外観をカスタマイズできます。
外観設定
「Settings」→「Appearance」→「General」で以下の設定が可能です。

ダッシュボードの表示
ダッシュボードでは、Proxmoxノードと各VM/コンテナのリソース使用状況を視覚的に確認できます。
Overview画面


詳細情報の確認

ストレージプール/物理ディスクの状態確認


バックアップ/スナップショットの状態確認

Hostsダッシュボード
Agentのインストールが行われていると、そのホストのリソースが監視できます。

5. AIツールとの連携
先にも書いたように、claude、OpenAI、DeepSeek、Google Gemini、Ollamaと連携が出来ます。
公式ドキュメントでは以下のように説明されています。
Pulse includes two AI-powered systems:
- Pulse Assistant — An interactive chat interface for ad-hoc troubleshooting, investigations, and infrastructure control.
- Pulse Patrol — A scheduled, context-aware analysis service that continuously monitors your infrastructure, learns what’s normal, predicts issues, and generates actionable findings.
Pulseには、以下の2つのAI搭載システムが含まれています。
- Pulseアシスタント: 雑多なトラブルシューティング、調査、インフラストラクチャ制御のためのインタラクティブなチャットインターフェースです。
- Pulseパトロール: 計画された、文脈に合わせた分析サービスで、継続的にインフラストラクチャを監視し、正常値を学習し、問題を予測し、実行可能な洞察を生み出します。
ローカルLLM使えるため、ローカルの環境についても柔軟に連携が出来ます。

この設定に問題が無い場合、ホストやVM/LXCのoverview -> discoveryからAIによる解析が出来ます。
その際には以下のコマンドなどが実行され、その結果から解析されるっぽいです。
Commands that will run (10)
cat /etc/os-release
Operating system
hostname -f 2>/dev/null || hostname
Full hostname
systemctl list-units --type=service --state=running --no-pager 2>/dev/null | head -40
Running services
ss -tlnp 2>/dev/null | head -30
Listening network ports
docker ps --format '{{.Names}}: {{.Image}} ({{.Status}})' 2>/dev/null | head -30 || echo 'no_docker'
Docker containers on host
pveversion 2>/dev/null || echo 'not_proxmox'
Proxmox version if applicable
zpool list 2>/dev/null | head -10 || echo 'no_zfs'
ZFS pools
df -h | head -20
Disk usage
lscpu | head -20
CPU information
free -h
Memory information
実行結果


6. まとめ
6.1 使ってみた感想
PVE環境向けの監視ツール「Pulse」を実際に導入してみました。
良かった点
- セットアップの簡単さ
- LXCコンテナ用の自動インストーラーが用意されており、基本的な質問に答えるだけで環境が構築できました。PVEノードの自動検出機能もあり、このあたりも活用することでPVEの管理が楽になる。
- ノード追加についても用意されたワンライナーコマンドを利用することで、監視用ユーザーやAPIトークンの作成まで自動化されるため、初心者でも迷わず導入できる。
- 必要十分な機能
- PVE環境の監視に必要な機能が揃っている:
- VM/コンテナのリソース監視(CPU、メモリ、ディスク)
- バックアップ・スナップショットの監視
- アラート通知(メール、Apprise、Webhook)
- 可読性が高いダッシュボード
- ZabbixやGrafana + Prometheusのような大規模な監視スタックと比べると機能は限定的ですが、「PVEだけを監視したい」という用途には十分です。
- PVE環境の監視に必要な機能が揃っている:
- 軽量で低負荷
- LXCコンテナで動作するため、リソース消費が少なく、PVEホストへの影響も少ない。実際、4vCPU・1GBメモリで快適に動作しています。
- 直感的なUI
- ダークモード対応のモダンなUIで、必要な情報がひと目で分かります。グラフの表示期間切り替えやフィルタリング機能も使いやすく、日常的な監視作業がスムーズに行えます。
個人的にこうであればと思う点
- 日本語対応
- 現時点では英語UIのみです。しかし設定項目や用語が分かりやすいため大きな問題ではありません。
- AIツール対応
- 自動的にコマンドを実行し、その結果を整形して出力してくれるのは分かりましたが、それを何に使用するのか今のところ分かりづらい。
- 「Pulse Patrol」というのも用意されており、logなどから自動修復なども行われるらしいと言うことも書いてあるので、これについてもよく分かりません。
参考リンク
- 公式有料プランサイト
- 公式ドキュメント



なお、PVE以外にもDocker単体やKubernetesも監視できるとのことです