Proxmox VE
pvesh GET: nodes, QEMU/LXC guests, NICs and resources
Designed and deployed an operational inventory workflow, from collecting hypervisor and VM configurations to reconciling them against NetBox and monitoring daily drift.
Virtual machines, network adapters and cluster settings change continuously. Manual records become stale, while bulk synchronization mistakes can affect production. The goal was to maintain a usable NetBox inventory and detect changes without automatically pushing configuration updates.
Each component has a defined role, with read-only API access separate from privileged write operations.
pvesh GET: nodes, QEMU/LXC guests, NICs and resources
Normalized inventory, completeness checks and private JSON snapshots
DCIM and Virtualization: hosts, VMs and virtual NICs
Separate daily physical-host and guest drift checks
CLEAN / DRIFT / ERROR, difference count and audit timestamp
Collect hypervisor hardware, QEMU/LXC guests, assigned CPU/RAM and virtual networking. Reconcile records against existing NetBox objects using stable identifiers.
Reviewable preview and dry-run, expected-count checks, a PostgreSQL backup, explicit confirmation and transactional interface creation. No automatic remediation.
A stopped VM template may share a MAC with a live guest. The NIC is inventoried without assigning the conflicting address, and the exception is verified by the audit.
Separate systemd timers and report paths for hosts and guests, sanitized numeric export via Zabbix Agent, and triggers for drift, execution errors and stale data.
The production NetBox inventory was verified against Proxmox for hosts, guests and network interfaces. End-to-end validation included Zabbix Server polling the exported values. The system detects drift; it is not a bidirectional infrastructure orchestrator.
The public repository includes collectors, auditors, systemd definitions, Zabbix integration, tests and operational documentation. Production addresses, internal hostnames, VMIDs and MACs are excluded.