Alta de un PVE en Zabbix con Proxmox VE by HTTP + ICMP
Procedimiento para dar de alta un nodo Proxmox VE en Zabbix sin instalar agente, usando el template oficial Proxmox VE by HTTP (lectura de la API por token) más el template ICMP Ping para disponibilidad. Incluye el troubleshooting habitual cuando el ICMP no reporta datos.
1. Crear el usuario y token de API en Proxmox
En el nodo PVE se crea un usuario de solo lectura y su token. El template consulta la API por HTTPS en el puerto 8006; no necesita agente.
pveum user add zabbix@pve -comment "Monitoreo Zabbix"
pveum acl modify / -user zabbix@pve -role PVEAuditor
pveum user token add zabbix@pve monitoring -privsep 0
El comando token add devuelve el value del token una sola vez: hay que copiarlo en ese momento.
2. Crear el host en Zabbix
En Data collection → Hosts → Create host, asignar el host group del cliente y el template Proxmox VE by HTTP. En la pestaña Macros se configuran los valores de conexión:
{$PVE.URL.HOST}= IP del nodo (ej. [ip]){$PVE.TOKEN.ID}=zabbix@pve!monitoring{$PVE.TOKEN.SECRET}= value del token{$PVE.NODE.NAME}= hostname exacto del nodo (debe coincidir o la API no devuelve datos)
3. Agregar disponibilidad por ICMP
El template Proxmox VE by HTTP solo consulta la API; no incluye ping. Para tener disponibilidad se agrega el template ICMP Ping y una interfaz tipo Agent con la IP del nodo (puerto 10050). La interfaz solo aporta la IP destino del ping; no instala nada en el nodo.
4. Troubleshooting: ICMP sin datos
Firewall del nodo/host destino: si fping desde el server Zabbix no responde, revisar que el equipo destino permita ICMP.
FpingLocation comentado: en /etc/zabbix/zabbix_server.conf la línea FpingLocation viene comentada. Se descomenta apuntando a la ruta real del binario y se reinicia el servicio.
sed -i 's|^# FpingLocation=.*|FpingLocation=/usr/sbin/fping|' /etc/zabbix/zabbix_server.conf
systemctl restart zabbix-server
Ítem ICMP sin interfaz vinculada: si el ítem muestra el error “Ping item must have target or host interface specified”, abrir cada ítem ICMP (ICMP ping, ICMP loss, ICMP response time) y asignar el campo Host interface a la interfaz Agent del host (IP:10050).
Notas
- Para replicar en nodos adicionales, usar Clone sobre el host ya configurado y cambiar IP, hostname y las macros
{$PVE.URL.HOST}y{$PVE.NODE.NAME}. - El usuario
zabbix@pvecon rolPVEAuditores de solo lectura: seguro para monitoreo.