1
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?

ProxmoxのCephをZabbix Agent 2で監視する

1
Last updated at Posted at 2026-04-16

はじめに

ProxmoxをZabbixで監視する際APIを利用するのが一般的ですが、Cephの監視はZabbix Agent2を噛ませたほうがOSDごとの詳細な性能・統計情報などが取れるので、今回はそちらの設定をしてみようと思います。

注意点として、Ceph Squid (v19.x) 以降を Zabbix Agent2で監視する際、ceph restfulモジュールの設定だけではOSD関連のアイテムでAccess deniedになって、正常にデータを取得できないケースがありました。
これはmgrエンティティの権限不足が主な原因で、本記事ではその辺の設定も含めて監視の手順をまとめています。

1. 【全ノード】Zabbix Agent 2 のインストールと設定

まず、Cephクラスタの各ノードにエージェントを導入します。

リポジトリの更新とインストール

# リポジトリパッケージのダウンロード
wget https://repo.zabbix.com/zabbix/7.0/debian/pool/main/z/zabbix-release/zabbix-release_latest_7.0%2Bdebian13_all.deb
# パッケージのインストール
dpkg -i zabbix-release_latest_7.0+debian13_all.deb
# リポジトリ情報の更新
apt update
apt install zabbix-agent2 zabbix-agent2-plugin-ceph

2. 設定ファイルの編集

# /etc/zabbix/zabbix_agent2.conf を編集します
# Server= に ZabbixサーバのIP
# Hostname= に 自サーバーのホスト名 を設定
sed -i 's/Server=127.0.0.1/Server=【ZabbixサーバのIP】/' /etc/zabbix/zabbix_agent2.conf
sed -i "s/Hostname=Zabbix server/Hostname=$(hostname)/" /etc/zabbix/zabbix_agent2.conf

3. サービスの起動と有効化

systemctl enable --now zabbix-agent2

準備:Active MGR ノードの特定

いずれか1台のノードで実行し、現在どのマネージャーが稼働中か確認します。

ceph mgr stat
出力例: { "active_name": "pve-prod01", ... }
以下、この active_name のノードを 「操作ノード」 として進めます。

【1台のみ(操作ノード)】RESTful API の全体設定

クラスタ共通の設定データベースを更新します。

# モジュールの有効化
ceph mgr module enable restful
# 自己署名証明書の作成
ceph restful create-self-signed-cert
# API待ち受け設定(全インターフェースの8003番ポート)
ceph config set mgr mgr/restful/server_addr 0.0.0.0
ceph config set mgr mgr/restful/server_port 8003
# Zabbix用APIユーザーの作成
ceph restful create-key zabbix
【重要】 ここで表示された UUID(APIキー) を必ず控えてください。

4. 【1台のみ(操作ノード)】全mgrへの権限付与

各ノードのmgrプロセスが統計情報を取得できるよう、1台からまとめて権限を上書きします。
全ノードの mgr エンティティに対してフル権限を付与しないと、フェイルオーバー発生時や特定の API 叩き込み時に 500 エラーが発生します。

# ノード数分、エンティティ名を変えて実行してください
ceph auth caps mgr.pve-prod01 mon 'allow *' mds 'allow *' osd 'allow *'
ceph auth caps mgr.pve-prod02 mon 'allow *' mds 'allow *' osd 'allow *'
ceph auth caps mgr.pve-prod03 mon 'allow *' mds 'allow *' osd 'allow *'

5. 【全ノード】設定の確定(プロセス再起動)

付与した新しい権限をmgrプロセスに読み込ませるため、全ノードで実行します。

# mgrプロセスの再起動
systemctl restart ceph-mgr.target

6. 動作確認テスト

エージェントがCephからデータを抜けるか最終確認します。

zabbix_agent2 -t ceph.osd.stats["https://localhost:8003","zabbix","【手順3のUUID】"]
成功: [s|{"osd_latency_apply":{...}}] とJSONが返ればOKです。

7. Zabbix ホスト設定

ZabbixのWebUIで対象ホストに以下の設定を行います。

テンプレート適用: Ceph by Zabbix agent 2 をリンク。

image.png

マクロの設定:
{$CEPH.CONNSTRING} : https://localhost:8003
{$CEPH.USER} : zabbix
{$CEPH.API.KEY} : 【手順3のUUID】

image.png

8.参考リンク

1
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
1
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?