Skip to content

v0.16.0: Hardware fleet

Choose a tag to compare

@TechDufus TechDufus released this 10 Nov 20:53
· 12 commits to main since this release
v0.16.0
c441dd3

The Hardware page now shows every machine you run (#47): any number of Proxmox hosts with their full hardware detail, and machines outside Proxmox with their node-exporter figures. A minor release: hardware.hosts and the hardware attention ids change shape; one-host settings keep working.

New

  • Several Hardware hosts. plugins.hardware.hosts takes any number of hosts, each read by its nodename (its node-exporter nodename and, in a Proxmox cluster, its node). Each keeps its own bays, fan scale, sensors, pools, disks, links and Proxmox facts.
  • Hardware page:
    • a fleet grid with a card per host (health, CPU, memory, power, CPU temperature, pools, disks) and per machine;
    • the full detail of the host you pick below it, at /hardware/<host>;
    • machine cards with node-exporter stats: OS and architecture, CPU, memory, root disk, load, uptime and, where the machine reports one, its temperature (macOS memory as Activity Monitor counts it);
    • machines checked through Gatus show up or down.
  • Overview: the power KPI sums the hosts, cpuTemp is the hottest package, and each topology host carries its own power, temperature and health.
  • Attention: pool, scrub, SMART and CPU-temperature items name their host and open its page.
  • Series: host.* take a host as node; without one, host.power is the sum, host.cpuTemp the hottest, and the others draw one line per host.
  • VM sheet: links to the Hardware page of the VM's own host.

Upgrade notes

  • Settings: nothing to change for one host. To add hosts, give each a nodename; at most one may leave it empty (it takes plugins.proxmox.node). Names and nodenames must be unique, ignoring case. A host whose nodename is a node of the Proxmox cluster is that node (its Proxmox facts, shell link and place in the topology) whatever plugins.proxmox.node says, so a cluster whose hosts all have a nodename no longer needs that setting.
  • A host without name is called by its nodename (before: its Proxmox node). Where the two differ, its name, refs and attention ids change.
  • API and clients:
    • hardware.hosts is {hosts: [...]} (one HostData per host, [] when none is configured) instead of one object; each host has health;
    • attention ids carry the host (zfs:pool:<host>/<pool>, zfs:scrub:<host>/<pool>, smart:<host>/<bay>, host:cpu-temp:<host>); acknowledgements of the old ids do not carry over;
    • an unknown host in a host.* series is a 404;
    • node-exporter machines carry stats.
  • Rolling back to v0.15.0: keep one host in plugins.hardware.hosts; v0.15.0 refuses several.

See docs/upgrading.md.