7.3 KiB
Decision: Herramienta de inventario para infraestructura Proxmox/PBS
Contexto
- 100-500 servidores Proxmox VE y PBS
- Necesidad de saber que hay, donde esta, que IP tiene, que version corre, que clientes tiene cada PBS
- Integracion con Ansible para automatizacion
Opcion A: Netbox solo (CMDB pura)
Que es: CMDB (Configuration Management Database) open source de referencia. Diseñada por ingenieros de red de DigitalOcean.
Que cubre:
- Inventario de servidores fisicos (rack, U, serial, modelo)
- IPs y subredes (IPAM completo: VLANs, prefijos, rangos)
- VMs y contenedores
- Conexiones de red (que puerto fisico va a donde)
- Contactos y tenants (clientes asociados a cada recurso)
- Custom fields (quota PBS, tamaño comercial, servidor de sync, etc.)
- API REST completa (todo automatizable)
Que NO cubre sin plugins:
- No descubre automaticamente lo que tienes (hay que poblarlo)
- No monitoriza estado (es un inventario, no sabe si el servidor esta caido)
- No gestiona tickets ni incidencias
Plugins clave para vuestro caso:
netbox-proxmox: sincroniza VMs, nodos y storage desde Proxmox APInetbox-dns: gestion de zonas y registros DNS (complementa vuestro PowerDNS)netbox-inventory: seguimiento de activos fisicos con ciclo de vida
Como se pobla:
- Manual al principio (servidores fisicos, racks)
- Automatico via API + scripts que lean de Proxmox y PBS
- Ansible como consumidor:
netbox.netbox.nb_inventorygenera inventario dinamico
Ideal si: quereis una fuente de verdad unica, bien estructurada, que alimente al resto de herramientas (Ansible, Prometheus, Grafana). El equipo tiene disciplina para mantenerla actualizada.
Recursos: 2GB RAM, 1 vCPU, PostgreSQL + Redis. Una VM pequeña.
Veredicto: Para vuestro caso, Netbox solo es suficiente como inventario si le añadis el plugin de Proxmox y lo conectais con Ansible. Es la opcion mas limpia.
Opcion B: GLPI + FusionInventory (inventario + autodiscovery + ticketing)
Que es: Gestion de activos IT + helpdesk + autodescubrimiento. Muy extendido en entornos ITIL.
Que cubre:
- Todo lo de inventario (servidores, VMs, IPs, software instalado)
- Autodescubrimiento: instala un agente en cada servidor y reporta automaticamente hardware, software, paquetes, actualizaciones
- Ticketing integrado (incidencias, peticiones, cambios)
- Gestion de contratos y proveedores (util para controlar hosting OVH, licencias)
- Base de conocimiento (wiki interna)
- SLA tracking
Que NO cubre:
- IPAM menos potente que Netbox
- No tiene concepto nativo de "tenant/cliente" tan limpio como Netbox
- Integracion con Ansible menos directa (existe pero no es nativa)
Ventaja diferencial: el agente FusionInventory escanea automaticamente cada servidor y reporta: hardware, paquetes instalados, versiones, discos, red. No tienes que mantener el inventario a mano, se actualiza solo.
Ideal si: quereis que el inventario se mantenga solo (autodiscovery), necesitais ticketing integrado, y el equipo prefiere una herramienta "todo en uno" tipo helpdesk.
Recursos: 2GB RAM, 1 vCPU, MariaDB + Apache. Una VM pequeña.
Veredicto: Mas facil de mantener actualizado que Netbox (autodiscovery), pero menos potente como CMDB de red y menos integracion con ecosistema DevOps.
Opcion C: Netbox + Ansible inventory + Prometheus service discovery (stack integrado)
Que es: No es una herramienta sino un patron. Netbox como SSOT, Ansible como consumidor y actualizador, Prometheus como validador.
Flujo:
Netbox (SSOT) --> Ansible (dynamic inventory) --> Configura servidores
^ |
| v
+---- Script sync <-- Proxmox API (autodescubre VMs nuevas)
|
+---- Prometheus (valida que lo que dice Netbox coincide con la realidad)
Componentes:
- Netbox: inventario maestro con plugin proxmox
- Script de sync (cron diario): consulta la API de cada Proxmox, crea/actualiza VMs en Netbox automaticamente
- Ansible
netbox.netbox.nb_inventory: genera inventario dinamico desde Netbox. Los playbooks siempre trabajan contra datos reales. - Prometheus + netbox-prometheus-sd: Prometheus descubre targets desde Netbox. Si un servidor esta en Netbox, se monitoriza automaticamente.
Que cubre:
- Todo lo de Netbox (Opcion A)
- Autodescubrimiento via API de Proxmox (no necesita agente como GLPI)
- Inventario siempre sincronizado con la realidad
- Monitoring automatico de todo lo que entra en inventario
- Ansible siempre trabaja con datos actualizados
Que requiere:
- Mas trabajo inicial de integracion (scripts de sync, configurar plugins)
- El equipo tiene que entender el flujo completo
- Necesita Prometheus y Grafana (que ya deberian desplegarse de todos modos)
Ideal si: quereis construir un ecosistema integrado donde añadir un servidor a Netbox automaticamente lo provisione con Ansible y lo monitorice con Prometheus. La opcion mas potente a largo plazo.
Recursos: Netbox VM (2GB) + Prometheus/Grafana (ya necesario para monitoring).
Veredicto: Mas esfuerzo inicial, pero es el objetivo final al que llegareis con cualquiera de las otras opciones. Si vais a desplegar Prometheus y Ansible de todos modos, tiene sentido empezar con este enfoque.
Comparativa rapida
| Criterio | A: Netbox solo | B: GLPI+Fusion | C: Netbox+stack |
|---|---|---|---|
| Esfuerzo inicial | Medio | Bajo | Alto |
| Mantenimiento | Manual + API | Automatico (agente) | Automatico (API) |
| IPAM (gestion IPs) | Excelente | Basico | Excelente |
| Autodiscovery | Con plugin/script | Nativo (agente) | Con script |
| Ticketing | No (necesita otra tool) | Integrado | No |
| Integracion Ansible | Nativa | Plugin | Nativa |
| Integracion Prometheus | Plugin | No directa | Nativa |
| Tenants/clientes | Excelente | Basico | Excelente |
| Curva de aprendizaje | Media | Baja | Alta |
| Comunidad Proxmox | Fuerte | Media | Fuerte |
| Escalabilidad | 10000+ | 5000 | 10000+ |
Mi recomendacion para vuestro caso
Opcion C, pero implementada en fases:
- Semana 1-2: Desplegar Netbox con plugin proxmox. Importar servidores fisicos y que sincronice VMs automaticamente.
- Semana 3-4: Conectar Ansible con inventario dinamico de Netbox. Primer playbook de hardening base.
- Mes 2: Añadir script de sync PBS (datastores, clientes, quotas como custom fields en Netbox).
- Mes 2-3: Conectar Prometheus con Netbox para service discovery automatico.
Resultado: cualquier servidor nuevo que se añada a Proxmox aparece en Netbox automaticamente, se configura con Ansible, y se monitoriza con Prometheus. Sin intervencion manual.
Nota sobre datos especificos de PBS que modelar en Netbox
Custom fields recomendados para vuestro modelo de negocio:
| Campo | Tipo | Ejemplo |
|---|---|---|
pbs_commercial_size_gb |
Integer | 100 |
pbs_quota_gb |
Integer | 600 |
pbs_reservation_gb |
Integer | 500 |
pbs_sync_server |
Text | pbs3343.vpn9.com.es |
pbs_sync_day |
Integer | 15 |
pbs_password |
Secret (via Vault) | - |
pbs_pve_host |
Text | ns31157129.ip-51-91-154.eu |
pbs_status |
Choice | active / migrated / suspended |
pbs_last_gc |
DateTime | auto-updated |
pbs_last_verify |
DateTime | auto-updated |
pbs_used_space_gb |
Integer | auto-updated |