Übersicht
Wer Proxmox VE ernsthaft überwachen will, braucht mehr als Ping und CPU-Last: Sind alle VMs gestartet? Läuft das Storage voll? Hat das letzte Backup funktioniert? Stirbt gerade eine SSD? Das Template Zabbix-Template-Proxmox-VE-REST-API beantwortet all das über die offizielle PVE REST API, komplett agentless. Kein Zabbix Agent auf dem PVE-Host, keiner in den VMs.
Abgedeckt werden Host- und Cluster-Metriken, alle QEMU-VMs und LXC-Container, Storage, Backups, Tasks, Netzwerk-Interfaces, HA-Ressourcen, physische Disks inklusive SMART und Wearout sowie die PVE-Benutzerkonten. Funktioniert auf Einzel-Nodes genauso wie im Cluster.

API-Token anlegen
Das Template braucht nur einen lesenden API-Token. Der einfache Weg ohne Privilege Separation:
- Benutzer anlegen: Datacenter, Permissions, Users, Add. Beispiel:
zabbix@pam - Rolle zuweisen: Datacenter, Permissions, Add, User Permission. Pfad
/, Benutzerzabbix@pam, RollePVEAuditor, Propagate aktivieren - Token erstellen: Datacenter, Permissions, API Tokens, Add. Benutzer
zabbix@pam, Token IDZabbix, Privilege Separation deaktivieren. Das Secret wird nur einmal angezeigt.
Wer Privilege Separation aktiviert lässt, muss die PVEAuditor-Rolle zusätzlich explizit dem Token zuweisen (API Token Permission auf Pfad /). Für das Disk-Monitoring ist das Privileg Sys.Audit nötig, das in PVEAuditor enthalten ist. Zeigen die Disk-Items "not supported", fehlt meist das Propagate-Häkchen.
Installation
template_proxmox-ve-rest-api.yamlin Zabbix 7.0+ importieren- Host anlegen, Template zuweisen, Interface leer lassen (HTTP Agent braucht keins)
- Pflicht-Makros am Host setzen:
| Makro | Beispiel |
|---|---|
{$PVE_IP} |
192.168.1.10 |
{$PVE_PORT} |
8006 |
{$PVE_NODE} |
pve |
{$PVE_API_USER} |
zabbix@pam |
{$PVE_API_TOKEN_ID} |
Zabbix |
{$PVE_API_TOKEN} |
Token-Secret, als Typ Secret text |
Was entdeckt wird
Zehn Discovery-Regeln legen die Items automatisch an: LXC-Container und QEMU-VMs mit CPU, RAM, Disk und Netzwerk, Cluster-Nodes mit Status und Uptime, Storage-Pools mit Kapazität, Backup-Jobs (vzdump und PBS, gruppiert pro VM), sonstige Tasks, PVE-Benutzer mit Ablaufdatum, Host-Netzwerk-Interfaces, HA-Ressourcen und physische Disks mit SMART-Status.


Trigger-Highlights
Neben den erwartbaren Alarmen (VM gestoppt, Storage voll, Backup fehlgeschlagen, Node offline, Interface down) stecken ein paar durchdachte Details drin:
- Quorum verloren feuert als DISASTER, aber nur auf echten Clustern. Ein Standalone-Node meldet
standaloneund bleibt still. - SMART und Wearout: Disks, deren SMART-Status nicht PASSED ist, lösen HIGH aus, SSDs unterhalb der Wearout-Schwelle eine Warnung. Sterbende Disks fallen auf, bevor PVE selbst meckert.
- Over-Provisioning-Erkennung: Bleibt eine VM 24 Stunden unter 5 Prozent CPU oder unter 20 Prozent RAM, gibt es einen INFO-Trigger. Das zeigt, wo zugewiesene Ressourcen verschwendet werden. Umgekehrt warnt ein Trigger bei dauerhaft über 90 Prozent RAM vor Unter-Provisionierung.
- Benutzer-Ablauf: PVE-Konten, die in den nächsten zwei Tagen ablaufen, werden gemeldet.
Jeder Alarm-Typ hat einen Ein/Aus-Makro-Schalter, mit Kontext-Makros auch pro Instanz. Für Wartungsfenster lässt sich etwa {$CLUSTER.NODES.OFFLINE.MAX} hochsetzen, statt Trigger zu deaktivieren.
Dashboard
Das mitgelieferte Dashboard hat elf Seiten: Overview, PVE-Host, Storage, QEMU-VMs, LXC-Container, Backup, Nodes, Cluster, HA und Disks, Tasks und Netzwerk. Alle Widgets befüllen sich über Prototypen automatisch mit den entdeckten Objekten.
Grenzen
CPU-Temperaturen liefert die PVE-API nicht, dafür braucht es weiterhin einen Agent oder ein eigenes Skript. Und wer wirklich nur Backups überwachen will, fährt mit dem schlankeren Log-basierten Backup-Template ohne API-Token günstiger; dieses Template hier deckt Backups aber ohnehin mit ab.
Fazit
Ein API-Token, sechs Makros, und der komplette PVE inklusive aller Gäste, Storage, Backups und Disk-Gesundheit liegt in Zabbix, ohne einen einzigen Agent zu installieren. Template und Doku: github.com/Garfieldttt/Zabbix-Template-Proxmox-VE-REST-API