Skip to content

Inventory reports

An inventory is a spreadsheet of everything your hypervisors hold: every virtual machine, disk, network card, guest partition, snapshot, host, datastore and cluster. Taking one by hand is free. The daily schedule, the history of past inventories, and the sheet of what changed are paid, and free during the 30-day trial.

What you need

  • A VMware vCenter or Proxmox VE source (vCenter, Proxmox VE). The read-only account it already uses is enough.
  • The Inventory panel then appears at the foot of the Virtualization tab.

Take one by hand (free)

  1. Open the Virtualization tab and scroll to Inventory.
  2. Click Take inventory now. It says "Taking an inventory. The downloads update when it is done."
  3. When it's done, Newest shows when it was taken, with the number of VMs and hosts. Click Excel, CSV or HTML to download it.

  4. Excel has one sheet per kind of thing. CSV is a zip with one file per sheet. HTML is a single page that opens in any browser.

  5. vCenter's custom attributes, such as Cost Center or Owner, become columns of their own.
  6. License keys are never read, so a report you send on never carries them.

With sign-in on, Take inventory now needs the operator or admin role.

What Proxmox VE can't tell a read-only account

A VM's IP addresses, partitions and guest OS need the QEMU guest agent and a permission the read-only role doesn't have, so they're left blank. A container's static address is in its settings, and is shown.

Daily runs and history (paid)

With a license or the trial, Ferrule takes an inventory every day at 02:30, in your time zone (TZ), and keeps a year of them. The panel shows daily at 02:30, and a table of every inventory with Taken, By (schedule or by hand), VMs, Hosts, Changes, Fingerprint and its own downloads.

Setting Default Change it to
INVENTORY on off to stop the daily run. Taking one by hand still works
INVENTORY_AT 02:30 another time of day, such as 05:00
INVENTORY_KEEP 365 days to keep. 2557 keeps seven years. The newest two are always kept

Sheets

Every download (Excel, CSV and HTML) has one sheet per kind of thing:

Sheet One row per
Sources Source read, with when, how many VMs, hosts and datastores, and any error
VMs VM or template
Disks Virtual disk
NICs Virtual network card
Partitions Guest file system the VM's tools report
Snapshots Snapshot, with its age
Hosts Host, with its hardware, version and its own IP addresses
Host NICs A host's network port (see below)
Datastores Datastore or storage
Clusters Cluster
Health Alert or alarm the source had at the time, and datastores that couldn't be searched for orphaned disks
Orphaned disks Disk file no VM uses (see below)
Capacity, Reclaim, Storage growth With capacity planning: see Reports and the monthly summary

Host NICs

New in the next release

This is on the dev and qa builds now, and in the next release.

Each host's network ports:

Column What it is
Source, Host, NIC Where it is: vmnic0, vmk0, eno1, bond0, vmbr0
Kind physical, vmkernel (vCenter), bond or bridge (Proxmox VE)
MAC vCenter only: Proxmox VE's API doesn't report it
Speed Mb/s vCenter, while the link is up
Link Up or down
Driver vCenter's driver, or a Proxmox VE bond's mode
Members A bond's ports, a bridge's ports, or a VMkernel port's port group
Address Its IP address, where it has one

Orphaned disks

New in the next release

This is on the dev and qa builds now, and in the next release.

Disk files no VM uses, found with each inventory. See Reclaim and orphaned disks for how they're found, and what vCenter needs to look.

Column What it is
Source, Datastore, File Where it is: a path on the datastore, or a Proxmox VE volume ID
Size GiB Its size on disk
Last written When, where the source says
Why no VM uses it, in a VM's folder, but not one of its disks, or detached from its VM but kept in its config
VM, VM ID The VM it belongs with, where there is one

Both sheets are compared between inventories, so a new orphaned disk, or a host's NIC that changed speed or MAC, shows on the Changes sheet.

What changed (paid)

Each inventory is compared with the one before, and its Changes sheet lists what was added, removed or reconfigured: memory, CPUs, disks resized or moved, networks, folders, notes and attributes. Readings that move on their own, such as power state, usage, which host a machine runs on and its IP addresses, are not changes. A source that couldn't be read is left out of the comparison, so an unreachable vCenter doesn't look like every machine was removed.

Between two dates: pick From and To, choose a Format, and click Download what changed. You get the net difference across the range, every change recorded inside it (so a machine added and removed again still shows), and the inventories it read.

Proof that history wasn't changed

Each inventory records a SHA-256 fingerprint of itself and of the one before it, so they form a chain: editing or deleting one breaks every fingerprint after it. Ferrule checks the whole chain when it starts and after every run. History on the panel says unchanged, or CHANGED with the reason, and the Inventory history changed alert is raised.

An inventory that INVENTORY_KEEP removes is recorded in the chain as expired, so it reads as expired, not as deleted. Each fingerprint is also written to every backup target and to the reporting database, out of reach of anyone who can only change the files. For the strongest evidence, keep your backup share under snapshots the stack's own account can't delete, or use S3 with Object Lock (Backups).

If the license lapses

The schedule stops and earlier inventories are hidden, but nothing is deleted. Taking one by hand and downloading the newest keep working, and the history comes back with a license.

If something's wrong

What you see What to do
No Inventory panel Add a vCenter or Proxmox VE source
not read: and a source's name That source couldn't be read during the inventory. Check its panel on the Virtualization tab
Take inventory now is greyed out One is already running, or you need the operator role

More in Troubleshooting.