Proxmox VEをZabbixで監視する

以下の関連記事もご覧下さい。
こんばんは、tukapiyoです。
先日Proxmox VEを導入しましたが、Zabbixの監視をまだ行っていませんでしたので、今回は監視設定を行ってみます。
Proxmox VE自体はDebianベースなのでZabbix Agentを使うこともできると思いますが、Proxmox VEはAPIを有しており、ZabbixとしてもAPIを使った監視テンプレートを標準で用意しています。
APIを使うことで仮想マシンに関する情報も容易に取得できるため、今回はこれを使って行きたいと思います。
目次
環境
被監視サーバ
- Proxmox VE 8.4
監視サーバ
- Red Hat Enterprise Linux 9.5
- Zabbix Server 6.0.39
Proxmox VE側の設定
Zabbixのドキュメントに従って設定を行います。
監視用ユーザの作成
Proxmox VEの監視用ユーザは専用に用意するのが推奨らしいので、今回はzabbixという名前のユーザを作成します。
APIトークンの発行
先ほど作成したユーザのAPIトークンを発行します。
- 「APIトークン」を開き、「追加」を選択します。
- 「ユーザ」には先ほど作成したユーザ名(今回はzabbix)を選択し、「トークンID」には分かりやすいIDを入力します。
「追加」を選択してトークンを発行します。
- トークンIDとシークレットが表示されるので、この2つをメモしておきます。
シークレットはこの場面でしか確認することができません。
アクセス権限の設定
ユーザとトークンに権限を設定します。
- 「アクセス権限」を選択します。
- 「追加」を選択し、「ユーザのアクセス権限」を選択します。
- 以下の様に値を選択し、「追加」を選択します。
ドキュメントではパス「/」:権限「Sys Audit」、パス「/storage」:権限「Datastore Audit」、パス「/vms」:権限「VM Audit」の3つ権限を付与することが書かれています。
今回は最小権限の法則に反しますが、パス「/」にロール「PVEAuditor」を割り当てることで上記を包含するような設定を行います。
※ロール「PVEAuditor」には権限「Datastore.Audit、Mapping.Audit、Pool.Audit、SDN.Audit、Sys.Audit、VM.Audit」が設定されています。
パス / ユーザ 先ほど作成したユーザ(今回はzabbix@pam) ロール PVEAuditor 継承 チェックを入れる - 「追加」を選択し、「APIトークンのアクセス権限」を選択します。
- 以下の様に値を選択し、「追加」を選択します。
ユーザのアクセス権と同様に、今回は最小権限の法則に反しますが、パス「/」にロール「PVEAuditor」を割り当てることで上記を包含するような設定を行います。
パス / APIトークン 先ほど作成したAPIトークン(今回はzabbix@pam!zabbix) ロール PVEAuditor 継承 チェックを入れる - 最終的に以下の様に設定されました。
Zabbix Server側の設定
これまでと同様に、Zabbixのドキュメントに従って設定を行います。
ホストの追加
- Zabbixの管理画面から「ホストの作成」を選択します。
- 「新しいホストの作成」画面でホストの情報を入力します。
ホスト名 Proxmox VEのホスト名 テンプレート Proxmox VE by HTTP インターフェース エージェントを追加
※エージェントは使用しませんが、APIの接続先はここで指定します。 - 「マクロ」を選択し以下の様に入力します。
「追加」を選択してホストを追加します。
ドキュメントでは、{$PVE.URL.HOST}
でProxmox VEのホスト名を指定すると記載されていますが、前述のインターフェースで設定するのが適切です。
{$PVE.TOKEN.ID}
先ほど作成したトークンID(今回はzabbix@pam!zabbix) {$PVE.TOKEN.SECRET}
先ほどメモしたシークレット - これで監視ができるようになります。
マクロについて
前述の手順で
{$PVE.URL.HOST}
でProxmox VEのホスト名を指定すると記載されていますが、前述のインターフェースで設定するのが適切です。
と記載したのですが、これについてはテンプレートの中身を確認すると分かります。
例えば、「Proxmox: API service status」の監視アイテムを確認すると、{$PVE.URL.HOST}
は使用しておらず{HOST.CONN}
が指定されており、インターフェースの接続先を使用していることが見て取れます。
まとめ
ZabbixにはあらかじめProxmox VEのテンプレートが用意されているため、簡単に監視設定を行うことができました。
最近のコメント