VMs & containers
These sections are the guest inventory: every QEMU VM and LXC container with its sizing, live usage, guest-agent data, configuration, disks, filesystems and snapshots. Use them to find VMs without a working guest agent, disks on the wrong storage or with backup disabled, filesystems close to full and snapshots nobody cleaned up.
How to read the tables:
- Excel / HTML is the column header, the same in both formats. JSON is the key in the JSON file.
- Sizes —
GBorMBin the header — are in that unit in Excel and HTML, and raw bytes in JSON. - Percentages —
%in the header — are formatted as percentages in Excel and HTML; JSON has the raw value, a fraction from 0 to 1 for usage columns. - Flags show
Xin Excel,✓or·in HTML,trueorfalsein JSON. - Multi-line cells hold one value per line; in JSON they are a string with line breaks (
\n, or\r\nwhen the report was generated on Windows). - Links to other pages exist in Excel and HTML; JSON has the plain value. Empty values are
nullor""in JSON. - Dates and times are in UTC.
- How the JSON files are shaped: see JSON.
Which guests
Section titled “Which guests”Every section on this page covers only the guests selected by Guest.Ids (default @all) — see
Choosing nodes and guests. Rows are sorted by ID,
with numbers compared as numbers. In every table, Node links to the node’s page and Vm Id to the
guest’s page; in Disks, Storage links to the Storages section.
Excel sheet VMs · HTML vms.html · JSON vms.json · always generated, limited by
Guest.Ids; agent data by Guest.IncludeQemuAgent and
Guest.QemuAgentTimeout.
For each VM the report reads /nodes/{node}/qemu/{vmid}/config. A VM whose status is unknown still gets a row,
but its config is not read and the config columns stay empty. The guest agent is queried only when all of these
are true:
- the VM is running;
agentis enabled in its config;Guest.IncludeQemuAgentistrue.
The report first calls agent/info. If the agent does not answer within Guest.QemuAgentTimeout seconds (default
3), it counts as not running. If it answers, the report calls get-osinfo, get-host-name,
network-get-interfaces and get-fsinfo in parallel.
When the agent is running and reports interfaces, the network columns show the interfaces the guest reports, matched to the config NICs by MAC address. Interfaces with no MAC or an all-zero MAC are skipped. Guest-only interfaces (no matching NIC in the config) are left out of this table but passed to the Network section. When the agent is not running, or returns no interfaces, the NICs come from the config, and a QEMU config has no IP addresses. A configured NIC that the agent does not report is taken from the config too.
VMs table
Section titled “VMs table”One row per VM.
| Excel / HTML | JSON | Content |
|---|---|---|
| Node | node |
Node the VM is on (link) |
| Vm Id | vmId |
VM ID (link to the VM detail) |
| Name | name |
VM name |
| Status | status |
running, stopped, … from cluster resources |
| Health | healthScore |
Health score 0–100, higher is healthier: 100 − (CPU%·0.5 + RAM%·0.5). Empty for a VM that is not running. HTML: green at 80 or more, yellow at 60 or more, red below. Excel: red–yellow–green colour scale |
| Pool | pool |
Resource pool, if any |
| Tags | tags |
Proxmox tags, one per line |
| Ha State | haState |
HA state from cluster resources |
| Lock | lock |
Current lock (backup, snapshot, migrate, …) |
| Is Template | isTemplate |
Flag: the VM is a template |
| Cpu Size | cpuSize |
Number of vCPUs |
| Cpu Usage % | cpuUsage |
CPU usage of the VM, as a share of its own vCPUs |
| Host Cpu Usage % | hostCpuUsage |
Text such as 12.5 % of 32 CPUs: the VM’s share of the node’s CPUs. Filled only for guests with uptime on an online node |
| Memory Size GB | memorySize |
Memory assigned (bytes in JSON) |
| Memory Usage GB | memoryUsageBytes |
Memory in use (bytes in JSON, see the caution below) |
| Memory Usage % | memoryUsage |
Memory in use divided by memory assigned |
| Host Memory Usage % | hostMemoryUsage |
Memory in use divided by the node’s memory. Filled only when Host Cpu Usage % is |
| Disk Size GB | diskSize |
Disk size from cluster resources (bytes in JSON) |
| Disk Usage GB | diskUsageBytes |
Used space of the guest filesystems reported by the agent (get-fsinfo), each device counted once, read-only images (squashfs, iso9660, udf) left out. Without agent data, the value from cluster resources, which Proxmox VE always reports as 0 for VMs (bytes in JSON, see the caution below) |
| Disk Usage % | diskUsage |
With agent data, used space divided by the total size of the guest filesystems; otherwise disk usage divided by disk size |
| Uptime | uptime |
Uptime as readable text |
| Hostname | hostname |
Guest hostname from the agent, or one of the status messages above |
| Os Name | osName |
OS name from the agent |
| Os Version | osVersion |
Agent “pretty name”, or the agent OS version, or the decoded ostype from the config |
| Os Kernel Release | osKernelRelease |
Kernel release from the agent |
| Agent Enabled | agentEnabled |
Flag: agent is enabled in the config |
| Agent Running | agentRunning |
Flag: the agent answered within the timeout |
| Agent Version | agentVersion |
Guest agent version |
| Networks | networks |
One line per NIC: MAC bridge or MAC bridge/tag |
| Ip Addresses | ipAddresses |
One line per NIC: IPv4 and IPv6 addresses with prefix, comma-separated (agent only) |
| On Boot | onBoot |
Flag: start at boot |
| Config Protection | configProtection |
Flag: protection is set |
| Description | description |
Notes of the VM, from its configuration |
| Bios | bios |
seabios or ovmf |
| Boot | boot |
Boot order |
| Machine | machine |
Machine type |
| Cores | cores |
Cores per socket |
| Sockets | sockets |
Sockets |
| Cpu | cpu |
CPU type |
| Kvm | kvm |
Flag: KVM hardware virtualisation |
| Scsi Hw | scsiHw |
SCSI controller model |
| Vga | vga |
Display type |
| Numa | numa |
Flag: NUMA enabled |
| Balloon | balloon |
Balloon minimum memory, as stored in the config |
| Cpu Limit | cpuLimit |
cpulimit |
| Cpu Units | cpuUnits |
cpuunits |
| Hugepages | hugepages |
hugepages |
| Hookscript | hookscript |
Hook script volume |
| Start Up | startUp |
startup order/delay string |
Containers
Section titled “Containers”Excel sheet Containers · HTML containers.html · JSON containers.json · always generated, limited by
Guest.Ids.
For each container the report reads /nodes/{node}/lxc/{vmid}/config, except containers whose status is unknown.
It never uses an agent. For a running container it also reads /nodes/{node}/lxc/{vmid}/interfaces and matches
the live interfaces to the config NICs by MAC address. For each NIC, the live addresses (link-local fe80…
excluded) are used like this:
- configured as
dhcp,autoormanual: the live address followed by the mode, e.g.10.0.0.5/24 (dhcp); - no address configured: the live address;
- static address configured: the configured value is kept.
If the endpoint is missing (older Proxmox VE releases) or fails, the configured values are shown and no issue is raised.
Containers table
Section titled “Containers table”One row per container.
| Excel / HTML | JSON | Content |
|---|---|---|
| Node | node |
Node the container is on (link) |
| Vm Id | vmId |
Container ID (link to the CT detail) |
| Name | name |
Container name |
| Status | status |
running, stopped, … |
| Health | healthScore |
Health score 0–100, same formula and colours as VMs. Empty when the container is not running |
| Pool | pool |
Resource pool, if any |
| Tags | tags |
Proxmox tags, one per line |
| Ha State | haState |
HA state |
| Lock | lock |
Current lock |
| Is Template | isTemplate |
Flag: the container is a template |
| Cpu Size | cpuSize |
Number of CPUs |
| Cpu Usage % | cpuUsage |
CPU usage of the container |
| Host Cpu Usage % | hostCpuUsage |
Text such as 3.1 % of 32 CPUs: share of the node’s CPUs |
| Memory Size GB | memorySize |
Memory assigned (bytes in JSON) |
| Memory Usage GB | memoryUsageBytes |
Memory in use (same JSON key clash as VMs) |
| Memory Usage % | memoryUsage |
Memory in use divided by memory assigned |
| Host Memory Usage % | hostMemoryUsage |
Memory in use divided by the node’s memory |
| Disk Size GB | diskSize |
Root disk size (bytes in JSON) |
| Disk Usage GB | diskUsageBytes |
Root disk usage (same JSON key clash as VMs) |
| Disk Usage % | diskUsage |
Disk usage divided by disk size |
| Uptime | uptime |
Uptime as readable text |
| Hostname | hostname |
hostname from the config |
| Os Version | osVersion |
Decoded ostype from the config |
| Networks | networks |
One line per NIC: MAC bridge or MAC bridge/tag |
| Ip Addresses | ipAddresses |
One line per NIC: IPv4 and IPv6 values, comma-separated (live values as described above) |
| On Boot | onBoot |
Flag: start at boot |
| Config Protection | configProtection |
Flag: protection is set |
| Description | description |
Notes of the container, from its configuration |
| Cores | cores |
cores |
| Swap | swap |
Swap, as stored in the config (MB) |
| Unprivileged | unprivileged |
Flag: unprivileged container |
| Nameserver | nameserver |
DNS servers |
| Search Domain | searchDomain |
DNS search domain |
| Features | features |
features string (nesting, keyctl, …) |
| Timezone | timezone |
timezone |
| Startup | startup |
startup order/delay string |
| Hookscript | hookscript |
Hook script volume |
VM and container detail
Section titled “VM and container detail”Excel sheet VM <id> / CT <id> · HTML vms/<id>.html / containers/<id>.html (page title <id> — <name>) ·
JSON vms/<id>.json / containers/<id>.json · enabled by Guest.Detail.Enabled.
There is one page per guest whose config could be read. It opens with a back link to the VMs or Containers list. In Excel, the detail sheets are the last ones, after the node detail sheets: VMs first, then containers, each in numeric order.
Header block (info)
Section titled “Header block (info)”A key/value block titled <id> - <name> in Excel and Info in HTML. In JSON it is stored under info.
| Excel / HTML | JSON | Content |
|---|---|---|
| VM ID | vmID |
Guest ID |
| Name | name |
Guest name |
| Hostname | hostname |
VM: hostname from the agent (or a status message). CT: hostname from the config |
| Agent Version | agentVersion |
VM only: guest agent version |
| Node | node |
Node (link in Excel) |
| Status | status |
Guest status |
| CPU | cpu |
Number of vCPUs |
| CPU Usage % (VM) / CPU Usage (CT) | cpuUsage |
Share of the node’s CPUs, as text (12.5 % of 32 CPUs) |
| Memory GB | memory |
Memory assigned (bytes in JSON) |
| Memory Host % | memoryHost |
Memory in use divided by the node’s memory |
| Disk GB | disk |
Disk size (bytes in JSON) |
| Uptime | uptime |
Uptime as readable text |
Config
Section titled “Config”A key/value block shown next to the header, stored under config in JSON. It is followed by every other key of the
guest config that the SDK does not map to a named property (for example disk and NIC lines such as scsi0 or
net0), sorted by name with numbers compared as numbers. Those keys keep their raw name.
VM keys:
| Excel / HTML | JSON | Content |
|---|---|---|
| On Boot | onBoot |
Start at boot |
| OS Type | osType |
Decoded ostype |
| Protection | protection |
protection |
| Template | template |
Template flag |
| Lock | lock |
Current lock |
| Tags | tags |
Tags, one per line |
| Bios | bios |
bios |
| Boot | boot |
boot |
| Machine | machine |
machine |
| CPU | cpu |
CPU type |
| Sockets | sockets |
sockets |
| Cores | cores |
cores |
| vCPUs | vcpus |
vcpus |
| CPU Limit | cpuLimit |
cpulimit |
| CPU Units | cpuUnits |
cpuunits |
| Affinity | affinity |
affinity |
| Hotplug | hotplug |
hotplug |
| Hugepages | hugepages |
hugepages |
| Memory (MB) | memoryMB |
memory, in MB |
| Balloon | balloon |
balloon |
| Shares | shares |
shares |
| KVM | kvm |
kvm |
| NUMA | numa |
numa |
| Tablet | tablet |
tablet |
| Scsi Hw | scsihw |
scsihw |
| Vga | vga |
vga |
| Agent | agent |
Agent enabled in the config |
| Agent Running | agentRunning |
The agent answered |
| Watchdog | watchdog |
watchdog |
| Rng0 | rng0 |
rng0 |
| Start Up | startUp |
startup |
| Hookscript | hookscript |
hookscript |
Container keys:
| Excel / HTML | JSON | Content |
|---|---|---|
| On Boot | onBoot |
Start at boot |
| OS Type | osType |
Decoded ostype |
| Protection | protection |
protection |
| Template | template |
Template flag |
| Lock | lock |
Current lock |
| Tags | tags |
Tags, one per line |
| Hostname | hostname |
hostname |
| Cores | cores |
cores |
| Memory (MB) | memoryMB |
memory, in MB |
| Swap (MB) | swapMB |
swap, in MB |
| Unprivileged | unprivileged |
Unprivileged container |
| Nameserver | nameserver |
nameserver |
| Search Domain | searchDomain |
searchdomain |
| Features | features |
features |
| Timezone | timezone |
timezone |
| Startup | startup |
startup |
| Hookscript | hookscript |
hookscript |
Agent OS Info
Section titled “Agent OS Info”VM only, stored under agentOSInfo in JSON. It appears when the agent is running and get-osinfo returned data.
| Excel / HTML | JSON | Content |
|---|---|---|
| Name | name |
OS name |
| Pretty Name | prettyName |
Full OS name |
| Version | version |
OS version |
| Version Id | versionId |
OS version id |
| Id | id |
OS id |
| Kernel Release | kernelRelease |
Kernel release |
| Kernel Version | kernelVersion |
Kernel version |
| Machine | machine |
Architecture |
| Variant | variant |
OS variant |
| Variant Id | variantId |
OS variant id |
Firewall Logs
Section titled “Firewall Logs”Stored under firewallLogs in JSON. Lines from /nodes/{node}/qemu|lxc/{vmid}/firewall/log, present when both
Firewall.Enabled and Guest.Detail.IncludeFirewallLog are
true. Firewall.MaxCount limits the number of lines (0 = no limit). Firewall.Since and Firewall.Until limit the
dates. A log that contains only no content is shown as an empty table.
| Excel / HTML | JSON | Content |
|---|---|---|
| Log | log |
One firewall log line |
Stored under tasks in JSON. The guest’s tasks, from /nodes/{node}/tasks?vmid=<id> on the node the guest is on
now. Present when Guest.Detail.Tasks.Enabled is true.
Guest.Detail.Tasks.OnlyErrors keeps only failed tasks. Guest.Detail.Tasks.MaxCount limits the number of rows
(0 = no limit). Guest.Detail.Tasks.Source picks all, local or active tasks.
| Excel / HTML | JSON | Content |
|---|---|---|
| Unique Task Id | uniqueTaskId |
UPID |
| Type | type |
Task type (vzdump, qmstart, …) |
| User | user |
User who started the task |
| Status | status |
Task exit status |
| Status Ok | statusOk |
Flag: status is OK |
| Start Time | startTime |
Start date and time |
| End Time | endTime |
End date and time |
| Duration | duration |
Task duration |
Excel sheet Disks · HTML disks.html · JSON disks.json · enabled by
Guest.IncludeDisks.
All disk entries of every VM and container whose config could be read, one row per entry. VMs include CD-ROM and
cloud-init drives. Rows are sorted by node, VM ID and entry id, with numbers compared as numbers (scsi2 before scsi10). The storage columns are looked up in cluster resources
by node and storage name. The section is left out when there are no rows.
Disks table
Section titled “Disks table”| Excel / HTML | JSON | Content |
|---|---|---|
| Node | node |
Node (link) |
| Vm Id | vmId |
Guest ID (link) |
| Vm Name | vmName |
Guest name |
| Vm Type | vmType |
qemu or lxc |
| Vm Status | vmStatus |
Guest status |
| Kind | kind |
Disk (data disks, rootfs, mp*, efidisk*, tpmstate*, unusedN), Cdrom (media=cdrom) or CloudInit (cloud-init drive) |
| Id | id |
Config key (scsi0, virtio1, rootfs, mp0, unused0, …) |
| Storage | storage |
Storage name (links to the Storages section) |
| Storage Type | storageType |
Storage plugin type (zfspool, lvmthin, rbd, …) |
| Storage Shared | storageShared |
Flag: the storage is shared |
| File Name | fileName |
Volume or file name |
| Size GB | size |
Size parsed from size= (bytes in JSON) |
| Storage Usage % | storageUsage |
Disk size divided by the storage’s total size. Empty when the storage size is unknown |
| Cache | cache |
Cache mode |
| Backup | backup |
Flag: included in backups. VM disks unless backup=0; container rootfs always, mp* only with backup=1; CD-ROM and cloud-init drives never |
| Is Unused | isUnused |
Flag: detached (unusedN) but still on storage |
| Device | device |
Device |
| Mount Point | mountPoint |
Container mount point path |
| Mount Source Path | mountSourcePath |
Container bind-mount source path |
| Passthrough | passthrough |
Flag: passthrough device |
| Prealloc | prealloc |
Preallocation mode |
| Format | format |
raw, qcow2, vmdk, … |
Partitions
Section titled “Partitions”Excel sheet Partitions · HTML partitions.html · JSON partitions.json · enabled by
Guest.IncludePartitions together with
Guest.IncludeQemuAgent.
Filesystems reported by the QEMU guest agent (get-fsinfo), one row per filesystem. Only VMs whose agent was running
during the VMs pass are included; containers never appear here. The section is left out when there are no rows.
Partitions table
Section titled “Partitions table”| Excel / HTML | JSON | Content |
|---|---|---|
| Node | node |
Node (link) |
| Vm Id | vmId |
VM ID (link) |
| Vm Name | vmName |
VM name |
| Vm Type | vmType |
Guest type (always Qemu) |
| Vm Status | vmStatus |
VM status |
| Mount Point | mountPoint |
Mount point inside the guest (/, C:\, …) |
| Type | type |
Filesystem type |
| Total GB | total |
Total size (bytes in JSON) |
| Used GB | usedBytes |
Used space (bytes in JSON, see the caution below) |
| Used % | used |
Used divided by total. Empty when total is 0 |
| Error | error |
Error reported by the agent for this filesystem |
| Name | name |
Device name inside the guest |
| Disks | disks |
One line per backing disk: dev (bus-type:bus:target:unit) [domain:bus:slot.function], PCI address in hex |
Snapshots
Section titled “Snapshots”Excel sheet Snapshots · HTML snapshots.html · JSON snapshots.json · enabled by
Guest.IncludeSnapshots.
Snapshots of every selected VM and container whose status is not unknown, read from
/nodes/{node}/qemu|lxc/{vmid}/snapshot. Rows are sorted by guest, then by snapshot time. If a guest’s snapshot list
cannot be read, a warning goes to the Issues page and the guest is skipped. The current entry that Proxmox VE
returns for the running state is not a snapshot and is left out.
Snapshots table
Section titled “Snapshots table”| Excel / HTML | JSON | Content |
|---|---|---|
| Node | node |
Node (link) |
| Vm Id | vmId |
Guest ID (link) |
| Vm Name | vmName |
Guest name |
| Vm Type | vmType |
Qemu or Lxc |
| Snapshot | snapshot |
Snapshot name |
| Parent | parent |
Parent snapshot |
| Date | date |
Snapshot time (snaptime) |
| Include Ram | includeRam |
Flag: the snapshot includes RAM state (vmstate) |
| Size GB | size |
Snapshot size (bytes in JSON). Filled only when the host application provides a size calculator: the command-line tool does not, so the column stays empty |
| Description | description |
Snapshot description |