۱. توکن فقطخواندنی
روی یکی از نودهای Proxmox:
pveum user add prometheus@pve --comment "metrics exporter"
pveum user token add prometheus@pve exporter --privsep 1
pveum acl modify / --tokens 'prometheus@pve!exporter' --roles PVEAuditorمقدار value توکن را یادداشت کنید، چون دیگر نمایش داده نمیشود. نقش PVEAuditor فقط اجازهی خواندن میدهد.
۲. نصب pve-exporter روی سرور مانیتورینگ
exporter را روی سرور Prometheus (یا یک LXC جداگانه) نصب کنید، نه روی خود نود:
sudo apt install -y python3-venv
sudo python3 -m venv /opt/pve-exporter
sudo /opt/pve-exporter/bin/pip install prometheus-pve-exporter/etc/prometheus/pve.yml (دسترسی فقط برای کاربر سرویس):
default:
user: prometheus@pve
token_name: exporter
token_value: "PASTE-TOKEN-VALUE"
verify_ssl: falseاگر گواهی Proxmox از CA معتبر است، verify_ssl را true بگذارید.
/etc/systemd/system/pve-exporter.service:
[Unit]
Description=Prometheus Proxmox VE exporter
After=network-online.target
[Service]
User=prometheus
ExecStart=/opt/pve-exporter/bin/pve_exporter --config.file /etc/prometheus/pve.yml --web.listen-address 127.0.0.1:9221
Restart=on-failure
[Install]
WantedBy=multi-user.targetsudo chown prometheus /etc/prometheus/pve.yml && sudo chmod 600 /etc/prometheus/pve.yml
sudo systemctl daemon-reload && sudo systemctl enable --now pve-exporter
curl -s '127.0.0.1:9221/pve?target=192.168.10.11' | grep -m5 '^pve_up'۳. Prometheus
در prometheus.yml:
scrape_configs:
- job_name: proxmox
metrics_path: /pve
params:
module: [default]
cluster: ['1']
node: ['1']
static_configs:
- targets: ['192.168.10.11', '192.168.10.12']
relabel_configs:
- source_labels: [__address__]
target_label: __param_target
- source_labels: [__param_target]
target_label: instance
- target_label: __address__
replacement: 127.0.0.1:9221چند متریک پرکاربرد:
pve_up: روشن بودن نود، VM یا کانتینر (۱ یا ۰)pve_cpu_usage_ratio: مصرف CPUpve_memory_usage_bytes / pve_memory_size_bytes: نسبت مصرف حافظهpve_disk_usage_bytes / pve_disk_size_bytes: پر شدن storage
داشبورد آمادهی «Proxmox via Prometheus» را در Grafana وارد کنید.
۴. اعلانهای داخلی Proxmox
از Proxmox 8.1 به بعد اعلانها در Datacenter › Notifications تنظیم میشوند:
- در Notification Targets یک مقصد SMTP بسازید (سرور ایمیل، پورت 587، نام کاربری و رمز).
- در Notification Matchers، matcher پیشفرض را ویرایش کنید تا رخدادهای با شدت
errorوwarningبه همین مقصد بروند. - با دکمهی Test یک ایمیل آزمایشی بفرستید.
شکست بکاپ، خرابی دیسک (از smartd و ZFS ZED) و نبود بهروزرسانیها از همین مسیر ارسال میشوند. فایل تنظیمات در /etc/pve/notifications.cfg است و بین نودهای خوشه مشترک است.