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)¶
- Open the Virtualization tab and scroll to Inventory.
- Click Take inventory now. It says "Taking an inventory. The downloads update when it is done."
-
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.
-
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.
- vCenter's custom attributes, such as Cost Center or Owner, become columns of their own.
- 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.