banshee est en développement actif : les collecteurs vont encore changer, et une version que vous publiez demandera sans doute des ajustements. Pour un usage stable, attendez la version 1.0.0.

Storage

banshee/storage-collection/storage/zfs/ssh/

pools

The health, space, errors and last scrub of each ZFS pool of a Linux or FreeBSD machine by SSH.

  • storage
  • zfs
  • openzfs
  • pool
  • scrub
  • ssh
  • linux
  • freebsd
  • truenas
  • proxmox

par banshee1 installation2 versions

v2Dernière

Publiée le 28 octobre 2026. One naming convention across collections; documentation completed.

ZFS pools, by SSH

Returns, for each ZFS pool of a Linux or FreeBSD machine, its health, its used and free space, its size and fragmentation, the data errors and device errors it has seen, and how long ago its last scrub finished. Ten watches are offered, each one set on the probe.

Versions

Generic: zpool list -H -p and zpool status -p are written the same way by OpenZFS 0.8 and later, on Linux and on FreeBSD 13 and later. It serves a TrueNAS CORE or SCALE, a Proxmox VE, a FreeBSD, an Ubuntu or Debian with zfsutils-linux, so it stays at the common level. The ZFS of FreeBSD 12 and earlier is not covered: whether its zpool status takes -p is not verified.

How it works

The collector runs three commands:

  1. zpool list -H -p -o name,size,alloc,free,cap,frag,health: one line per pool, exact numbers in bytes, separated by tabs;
  2. zpool status -p: for each pool, its scan: line, the error counts of each device, and its errors: line;
  3. date "+%s %z": the machine's clock, in seconds since 1970, and the offset of its local time now (+0100).
  • The health is the pool's, in lower case: online, degraded, faulted, offline, unavail, removed, suspended.
  • The used space is allocated over size, as zpool list shows its capacity; the fragmentation is returned when the pool counts it.
  • The data errors are those of the errors: line (12 data errors, use '-v' for a list), 0 for No known data errors.
  • The device errors are the sum of the read, write and checksum counts of every device of the pool, as zpool status shows them since the pool was imported or the counts cleared.
  • The last scrub reads finished, running, canceled, never (no scrub on record: a resilver is not a scrub) or unreadable (a scrub line in a form not read here). Its age, in days, is counted from the end written on the scan: line, in the machine's local time without its offset, to the machine's own clock: the offset of the machine now is put on that end.
  • Nothing is written on the target: zpool list, zpool status and date only read.

Prerequisites

  • An SSH account for monitoring, without write rights, that may run zpool: on Linux, OpenZFS lets any user read the pools when /dev/zfs is readable by it (it is, by default, on Ubuntu, Debian and Proxmox); on FreeBSD and TrueNAS CORE, any user may. No sudo.
  • The fingerprint of the server's host key, set in protocol:ssh:fingerprint (not needed when the Security settings trust the first SSH fingerprint presented).

Outputs

NameLabelUnitPer instance
healthHealth—yes, per pool
used-percentUsed space%yes, per pool
freeFree spaceGiByes, per pool
sizeSizeGiByes, per pool
fragmentationFragmentation%yes, per pool
data-errorsData errors—yes, per pool
device-errorsDevice errors—yes, per pool
scrubLast scrub—yes, per pool
scrub-ageTime since the last scrubdyes, per pool

Watches

NameTitleKindDefaultsChecked by default
unhealthyPool not onlineexpected value, on healthwarning when the health is anything but onlineyes
failedPool failedstate to avoid, on healthcritical on faulted, unavail, removed, suspendedyes
usedUsed spaceabove a threshold, on used-percentwarning above 80 %, critical above 90 %yes
full-soonFull within a weekabove a threshold, on used-percentwarning above 99 %, ahead 7 dyes
fragmentedPool fragmentedabove a threshold, on fragmentationwarning above 70 %no
data-errorsData errorsabove a threshold, on data-errorscritical above 0yes
device-errorsDevice errorsabove a threshold, on device-errorswarning above 0yes
never-scrubbedPool never scrubbedstate to avoid, on scrubwarning on neveryes
scrub-oldScrub too oldabove a threshold, on scrub-agewarning above 35 dyes
missingPool missingexpected instances, on healthno pool named: it raises nothing until names are set on the probeno

Limits

  • A machine without zpool, or without any pool, stops the collector misconfigured; so does a zpool the account may not run.
  • The error counts stay until an administrator clears them (zpool clear): device-errors raises until then.
  • While a scrub runs, or after a canceled one, the age of the previous scrub is not known: scrub-age is not returned.
  • The age of a scrub can be off by an hour across a change of summer time, the offset of the machine being that of now, and by more if the machine's clock or time zone changed since.
  • A scrub's end is read in the form zpool status writes it (on Sun Oct 11 00:36:32 2026, English month names); a scrub line in another form reads unreadable, and its age is not returned.
  • Not checked against a ZFS machine: the formats are those OpenZFS documents for zpool-list and zpool-status.