はじめに
twitterにてIntel N100を積んだ中華mini PCが手頃な価格で手に入ると知り、ネットワークや仮想基盤のお勉強と、好き勝手作って壊せるLinux VM環境が欲しくなっていた自分に刺さったので購入することに。
どうせ仮想基盤や仮想マシンを作るのであれば、自宅ネットワークのオブザーバビリティのためにPrometheusをインストールしようと思いったった。
0. 購入したPC
BeeLink S12 Pro
- Intel N100
- RAM 16GB
- M.2 PCIe SSD 512GB
- Windows 11 Pro
https://www.bee-link.com/beelink-mini-s12-pro-n100-mini-pc-clone-1
1. Proxmoxのインストール
USBにRufasなどでProxmox VEのISOを焼きインストールする。
https://www.proxmox.com/en/proxmox-virtual-environment/get-started
インストール後にWeb GUIを開き、ノードの管理からコンポーネントが「enterprise」となっている2つのリポジトリを無効化し、追加から「No-Subscription」のリポジトリを追加しアップデートする。
Proxmox VEがDebianベースらしく、シェルから apt update
コマンドを叩けるのは便利
2. Prometheus用の仮想マシンの作成
Ubuntu Server 22.04のisoをインストールし、ノード > local > ISO からISOをノードにアップロードする。
https://ubuntu.com/download/server
VMを作成からUbuntuをインストール
3. Prometheusをインストール
DockerコンテナにてPrometheusを起動する
Dockerのdocsを参考にdockerやdocker composeをインストールする。
https://docs.docker.com/engine/install/ubuntu/
公式ドキュメントなどを参考にdocker-compose.ymlファイルを作成する。
docker imageは、quay.io かdocker hubから
https://quay.io/repository/prometheus/prometheus
https://hub.docker.com/r/prom/prometheus/
docker-compose.yml
|
|
prometheus.yml を作成する。
|
|
コンテナをdocker compose up -d
で起動する。
http://<hostname>:9090
にて接続できることを確認する。
4. Node Exporterを起動する
VMのメトリクスを収集するためにNode Exporterをコンテナにて起動する。
MONITORING LINUX HOST METRICS WITH THE NODE EXPORTER
https://prometheus.io/docs/guides/node-exporter/
prometheus/node_exporter
https://github.com/prometheus/node_exporter
docker-compose.yml に追記
|
|
prometheus.yml に追記する。
|
|
http://<hostname>:9090/targets
にアクセスし、StateがUpであることを確認する。
5. Grafanaを起動する
Prometheusに収集したメトリクスをダッシュボードで確認したり、探索するためにGradanaを起動する。
Run Grafana Docker image
https://grafana.com/docs/grafana/latest/setup-grafana/installation/docker/
初回の構築時には外出先からでも確認できるマネージドサービスなGrafana Cloudの無料枠でメトリクスを収集していたが、無料枠10kメトリクスを2日程度で超過してしまったので、自宅サーバに構築する
Grafana Cloudを利用したい方は以下の記事を参考に
Monitoring a Linux host with Prometheus, Node Exporter, and Docker Compose
https://grafana.com/docs/grafana-cloud/send-data/metrics/metrics-prometheus/prometheus-config-examples/docker-compose-linux/
データソースの設定はGrafanaログイン後に行うため、docker-compose.ymlには記載しない。
docker-compose.yml
|
|
http://<hostname>:3000
にアクセスし、admin / admin にてログイン後、
データソースから Prometheusを選択し、 http://localhost:9090
を設定する
ダッシュボードのImportから以下のテンプレートを使用してダッシュボードを作成する
https://grafana.com/grafana/dashboards/1860-node-exporter-full/
まとめ
- 省電力で静音性も高いIntel N100ありがとう
- Proxmox VE は無料なのにクラスタを組んだりできるのいいね
- PrometheusとGrafanaでさくっとメトリクスの可視化できるの素晴らしい
- サーバの健康はこころの健康
Proxmox VEやnasneのexporterの設定や、Cloudflare Tunnelを使って外出先からGrafanaへアクセスできるようにした話は後で書く。