Technical

Proxmox Export Summary to CSV: pvesh Recipe for Host and Datacenter

Proxmox Export Summary to CSV: pvesh Recipe for Host and Datacenter

Proxmox has no built-in export summary to CSV button, but you can pull the same data the web UI shows with pvesh and turn it into a CSV with jq. Here’s the recipe for both a single host and the whole datacenter.

Low angle view inside an industrial tower structure showing its geometric patterns and framework.

What the web UI actually shows

The summary page in the Proxmox web UI is just the API endpoint nodes/{node}/status rendered as a table. Same data, same fields. The datacenter summary is cluster/resources. Neither endpoint has a CSV option, so you have to do the conversion yourself.

Single host summary to CSV

Run this on the Proxmox host or any machine with API access:

pvesh get /nodes/pve/status --output-format json | jq -r '[.data.kversion,.data.cpuinfo.model,.data.memory.used,.data.memory.total,.data.rootfs.used,.data.rootfs.total,.data.uptime] | @csv'

That gives you one line: kernel version, CPU model, memory used, memory total, rootfs used, rootfs total, uptime. Swap out pve for your node name.

Detailed view of audio equipment with cables and sound card connections in a studio setting.

Whole datacenter summary to CSV

For every VM, container, and node in the cluster, use cluster/resources:

pvesh get /cluster/resources --type vm --output-format json | jq -r '.[] | [.vmid,.name,.type,.status,.mem,.maxmem,.cpu,.maxcpu,.disk,.maxdisk] | @csv'

That loops through each guest and prints vmid, name, type, status, memory, max memory, cpu, max cpu, disk, max disk. Add --type node for the host-level summary instead.

If you don’t have jq

Install it first. It’s in every distro’s repo:

apt install jq

Or use pvesh get /nodes/pve/status --output-format json-pretty and copy the fields you need. But jq is the clean way.

Why this isn’t built in

Proxmox expects you to use the API for anything beyond the web UI. The summary is just another endpoint, and CSV export isn’t on their roadmap. If you need this regularly, wrap the pvesh command in a cron job or a small script. I’d rather have this than a half-baked export button that breaks every other release.

If you’re exporting guest data for inventory, check the QEMU guest agent post for getting accurate memory and IP info inside the guest.

Leave a comment

Comments are reviewed before they appear. Your email is never published.