- 在 PVE shell 內新增 PVE 使用者:
並且設定權限
pveum user add pve-exporter@pve -password "password"
pveum acl modify / -user pve-exporter@pve -role PVEAuditor
- 在 PVE shell 產生一個 API token:
pveum user token add pve-exporter@pve exporter
- 在 PVE shell 產生一個使用者, 用來執行服務:
useradd -s /bin/false pve-exporter
- 在 PVE shell 安裝 python3-venv, 並且裝上
prometheus-pve-exporter
:apt update apt install -y python3-venv python3 -m venv /opt/Prometheus-pve-exporter source /opt/Prometheus-pve-exporter/bin/activate pip install Prometheus-pve-exporter deactivate
- 依據
prometheus-pve-exporter
需求, 將第2步產生的 API Token 寫到 config -/etc/prometheus/pve.yml
:default: user: pve-exporter@pve token_name: exporter token_value: ... verify_ssl: false
- 新增一個 service 執行
prometheus-pve-exporter
-/etc/systemd/system/pve_exporter.service
:[Unit] Description=PVE Exporter Wants=network-online.target After=network-online.target [Service] User=pve-exporter Type=simple ExecStart=/opt/Prometheus-pve-exporter/bin/pve_exporter --web.listen-address=[::]:9221 [Install] WantedBy=multi-user.target
- 啟動服務:
systemctl daemon-reload systemctl enable --now pve_exporter systemctl status pve_exporter
- 測試:
curl http://localhost:9221/metrics curl http://localhost:9221/pve
新增 config 抓 PVE exporter:
scrape_configs:
- job_name: 'pve'
static_configs:
- targets:
- <PVE_HOST>:9221
metrics_path: /pve
params:
module: [default]
cluster: ['1']
node: ['1']
匯入 dashboard - Proxmox via Prometheus ID: 10347