SaaSだけでProxmox VEのメトリクスダッシュボードを作った
動機
自宅で稼働しているProxmox VEサーバーを監視したくなった
VMやLXCのディスクはRAIDZで組んだストレージ上に保存してるので、ディスクの異常を可視化できればいいな〜と前から思っていた
選定理由
自前のインフラ監視に使う監視ツールを自前のインフラの上に乗せると本末転倒だと考えていたので、外部のサーバーを利用したかった&運用物を増やしたくないのでSaaSが好ましい
Proxmox VEがネイティブで対応してるメトリクスサーバーは次の二つ
- Graphite
- InfluxDB
- (ネイティブではないがZabbix)
それぞれで使えるSaaSは軽く調べたところこの三つ
- https://www.hostedgraphite.com/
- https://www.influxdata.com/products/influxdb-cloud/
- https://www.zabbix.com/cloud
なるべく安く抑えたい&長期間のログの保存はしなくていいので、無料枠のあるInfluxDB Cloudを選択
メトリクスの可視化には有名なGrafanaを選択、GrafanaのSaaSはGrafana Cloudを選択
こちらも無料枠がある(うれしい)
おことわり
Telegrafはうまくいかなかったので使っていません
設定編
InfluxDB Cloud
-
https://cloud2.influxdata.com/signup からログインする
ログイン方法としてGoogle、Microsoft、メアドとパスワードが使える(2024/12/30現在)
今回はGoogleでログインしました -
ログインするとこんな画面になるので、AccountとOrganizationに適当な文字列を入力(Organizationは後で使います)
あとは書いてある諸々を読んで次の画面へ -
ログインしたら左上のLoad DataからBucketsをクリックします
適当な名前でバケットを作ります
今回はbase01
にしました
- 次にバケット用のAPIトークンを作成します
Load DataからAPI Tokensをクリックすると移動できます
Custom API Tokensをクリックします
すると許可する権限を聞かれるので、3で作成したバケットに対し、ReadとWriteの権限を付与します
Generateをクリックするとトークンが表示されるので、忘れずメモします
Proxmox VE
-
ProxmoxにInfluxDB Cloudを登録します
Proxmox VEの管理コンソールの左からDatacenterを選択し、Metrics Serverと書いてあるところをクリックします
その後、AddをクリックしInfluxDBをクリックします
-
ダイアログが出るので、次の表通りに入力します
項目名 | 入力値 |
---|---|
Name | わかりやすい適当な名前 |
Server | 自身のInfluxDB Cloudの管理コンソールのFQDN |
Port | 443 |
Protocol | HTTPS |
Organization | 入力したOrganization名 |
Bucket | 作成したバケット名 |
Token | 生成したAPIトークン |
Grafana Cloud
-
最後にGrafanaの設定をします
https://grafana.com/ja/products/cloud/
-
次のリンク通りにInfluxDBをGrafanaに登録します
https://docs.influxdata.com/influxdb/cloud/tools/grafana/ -
ログインしたらサイドメニューから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で登録したデータソースを選択します
-
Importをクリックすれば、ついにダッシュボードの完成です。お疲れ様でした
つまづいた点
Syslogを見るとエラーログが大量に吐かれていますが正常です
詳細はよくわかりませんが、InfluxDBのAPIがv2になったことでProxmoxが使用しているエンドポイントのいずれかが削除された・・・的なことが海外の掲示板に書いてありました(詳細をご存知の方はコメント欄に書いてくださると幸いです🙇)
エラーログが吐かれているため、てっきりうまくいっていないと思いTelegrafも試したのですが、メトリクスがInfluxDB側に送信されていなかった、またはProxmox VEのメトリクスが取得できておらずGrafanaでデータが表示されなかったため、今回はTelegrafの使用を見送ることにしました。どなたかTelegraf版の記事を書いてくださるのをお待ちしております(お
最後に
ついに念願だったダッシュボードを作ることができました。現時点でディスクの異常は可視化できていないのですが、これから頑張ろうと思います
逸般の誤家庭で自宅サーバーというとなんでも自前のイメージが強いかもしれませんが、部分部分でSaaSを導入するのもこれからはアリだと思います(そんなイメージ無いって?・・・知らんな)
Discussion