Proxmox to Sentri
Proxmox to Sentri is a utility script that retrieves all virtual machines from a Proxmox cluster and imports them into Sentri as servers.
The script collects information such as:
- VM name
- Power state
- CPU and memory allocation
- Disk configuration
- IPv4 and IPv6 addresses
- Snapshot count
- Backup availability
- Operating system information
- VM descriptions/notes
Requirements
System Requirements
The machine running this script must:
- Have network access to the Proxmox web interface/API
- Have the following packages installed:
curljqgit(required for installation)
Proxmox Requirements
A Proxmox user account with permission to view VMs and storage information is required.
Recommended role:
PVEAuditor
Optional: Guest IP Address Collection
To collect IPv4, IPv6, and operating system information from virtual machines, install the QEMU Guest Agent inside each VM.
Example for AlmaLinux/RHEL:
sudo dnf install -y qemu-guest-agent
sudo systemctl enable --now qemu-guest-agent
Then enable the QEMU Guest Agent in Proxmox:
qm set <VMID> --agent enabled=1
Installation
Clone the repository and configure the environment file:
cd /optgit clone https://gitea.mooij.me/meteo/proxmox-to-sentri.gitcd proxmox-to-sentricp .env-sample .envchmod 600 .envchmod 740 proxmox-to-sentri.sh
Optional: Create a global command:
ln -sf /opt/proxmox-to-sentri/proxmox-to-sentri.sh /usr/bin/proxmox-to-sentri
Configuration
Edit the .env file and configure the Proxmox connection settings:
PM_HOST="https://proxmox.example.com:8006"
PM_USER="root@pam"
PM_PASS="your-password"
Running the Script
Run the script directly:
./proxmox-to-sentri.sh
Or, if you created the symlink:
proxmox-to-sentri
Output
Generated JSON files are written to:
/opt/proxmox-to-sentri/output/
One JSON file is generated per VM.