📊

SaaSだけでProxmox VEのメトリクスダッシュボードを作った

2025/01/04に公開

動機

自宅で稼働しているProxmox VEサーバーを監視したくなった
VMやLXCのディスクはRAIDZで組んだストレージ上に保存してるので、ディスクの異常を可視化できればいいな〜と前から思っていた

選定理由

自前のインフラ監視に使う監視ツールを自前のインフラの上に乗せると本末転倒だと考えていたので、外部のサーバーを利用したかった&運用物を増やしたくないのでSaaSが好ましい
Proxmox VEがネイティブで対応してるメトリクスサーバーは次の二つ

  • Graphite
  • InfluxDB
  • (ネイティブではないがZabbix)

それぞれで使えるSaaSは軽く調べたところこの三つ

なるべく安く抑えたい&長期間のログの保存はしなくていいので、無料枠のあるInfluxDB Cloudを選択
メトリクスの可視化には有名なGrafanaを選択、GrafanaのSaaSはGrafana Cloudを選択
こちらも無料枠がある(うれしい)

おことわり

Telegrafはうまくいかなかったので使っていません

設定編

InfluxDB Cloud

  1. https://cloud2.influxdata.com/signup からログインする
    ログイン方法としてGoogle、Microsoft、メアドとパスワードが使える(2024/12/30現在)
    今回はGoogleでログインしました

  2. ログインするとこんな画面になるので、AccountとOrganizationに適当な文字列を入力(Organizationは後で使います)
    InfluxDB Cloudの初期設定画面
    あとは書いてある諸々を読んで次の画面へ

  3. ログインしたら左上のLoad DataからBucketsをクリックします
    Bucketの追加
    適当な名前でバケットを作ります
    今回はbase01にしました
    Bucketの作成

  1. 次にバケット用のAPIトークンを作成します
    Load DataからAPI Tokensをクリックすると移動できます
    Custom API Tokensをクリックします
    API Tokenの追加
    すると許可する権限を聞かれるので、3で作成したバケットに対し、ReadとWriteの権限を付与します
    API Tokenの権限選択
    Generateをクリックするとトークンが表示されるので、忘れずメモします

Proxmox VE

  1. ProxmoxにInfluxDB Cloudを登録します
    Proxmox VEの管理コンソールの左からDatacenterを選択し、Metrics Serverと書いてあるところをクリックします
    その後、AddをクリックしInfluxDBをクリックします
    PVEのMetrics Server設定画面

  2. ダイアログが出るので、次の表通りに入力します

項目名 入力値
Name わかりやすい適当な名前
Server 自身のInfluxDB Cloudの管理コンソールのFQDN
Port 443
Protocol HTTPS
Organization 入力したOrganization名
Bucket 作成したバケット名
Token 生成したAPIトークン

InfluxDBの情報入力画面

Grafana Cloud

  1. 最後にGrafanaの設定をします
    https://grafana.com/ja/products/cloud/
    Grafana Cloudログイン直後

  2. 次のリンク通りにInfluxDBをGrafanaに登録します
    https://docs.influxdata.com/influxdb/cloud/tools/grafana/

  3. ログインしたらサイドメニューからDashboardを開き、NewからNew DashboardまたはImportをクリックします
    ダッシュボードの追加
    今回は既存のダッシュボードをインポートすることにしたので、Importをクリックしました
    するとこのような画面に移るので、https://grafana.com/grafana/dashboards/ からProxmoxなどのワードで検索し、URLまたはIDを入力しLoadをクリックして読み込みます
    ダッシュボードのインポート
    今回は次のダッシュボードをインポートしました
    https://grafana.com/grafana/dashboards/22559-proxmox-dashboard/
    Loadを押すと名前の設定などできるのでお好みで変更します
    今回使用したダッシュボードの場合influxdbという項目があるので、2で登録したデータソースを選択します
    インポート時の設定

  4. Importをクリックすれば、ついにダッシュボードの完成です。お疲れ様でした
    ダッシュボード

つまづいた点

Syslogを見るとエラーログが大量に吐かれていますが正常です
詳細はよくわかりませんが、InfluxDBのAPIがv2になったことでProxmoxが使用しているエンドポイントのいずれかが削除された・・・的なことが海外の掲示板に書いてありました(詳細をご存知の方はコメント欄に書いてくださると幸いです🙇)

https://x.com/ebi68000/status/1873020338516443469

エラーログが吐かれているため、てっきりうまくいっていないと思いTelegrafも試したのですが、メトリクスがInfluxDB側に送信されていなかった、またはProxmox VEのメトリクスが取得できておらずGrafanaでデータが表示されなかったため、今回はTelegrafの使用を見送ることにしました。どなたかTelegraf版の記事を書いてくださるのをお待ちしております(お

最後に

ついに念願だったダッシュボードを作ることができました。現時点でディスクの異常は可視化できていないのですが、これから頑張ろうと思います
逸般の誤家庭で自宅サーバーというとなんでも自前のイメージが強いかもしれませんが、部分部分でSaaSを導入するのもこれからはアリだと思います(そんなイメージ無いって?・・・知らんな)

Discussion