Skip to main content
Storage & files

ZFS Pools

Monitor health, capacity, fragmentation, device errors and scrubs of the ZFS pools on your Linux hosts.

The ZFS Pools check monitors local pools on a Linux host, including Proxmox. It checks health, capacity, fragmentation, device errors and the last scrub, every 60 minutes by default. It does not repair pools or start a scrub.

Prerequisites

  • The octoja agent runs directly on the Linux host (x64 or ARM64), not just in a VM on that host.
  • zpool is installed and executable by the agent, with permission to read the pools.
  • You can assign checks to the device; configuration packages require Monitoring Check Management.

Steps

  1. Open the host and add ZFS Pools under Checks. Use a configuration package for multiple hosts.
  2. Leave Pools empty to check all local pools, or enter exact pool names.
  3. Adjust the thresholds and save.
  4. After the first run, open the result and confirm that the expected pools are listed. Configure alerting if needed.

Settings

All fields are optional. Reaching a threshold produces Warning or Critical respectively. Fragmentation, scrub age and device errors appear only after you turn on Show advanced options.

FieldTypeRequiredDefaultDescription
PoolsListNoEmptyAll pools; otherwise only the specified names
Capacity warning (%) / Capacity critical (%)PercentNo80 / 90Warning / Critical for used capacity
Fragmentation warning (%) / Fragmentation critical (%)PercentNo50 / 70Warning / Critical for fragmentation
Scrub age warning (days) / Scrub age critical (days)DaysNo35 / 90Warning / Critical since the last completed scrub
Device errors warning / Device errors criticalCountNo1 / 10Warning / Critical for read, write and checksum errors on the worst affected status row

Results

  • A degraded pool is critical, except during active recovery (resilver), when it is a warning. More severe pool states, data errors and scrub errors remain critical.
  • An active scrub alone does not raise an alert. No completed scrub produces a warning; a completed resilver is not a substitute for a scrub.
  • A selected pool that is missing, or no pools found at all, produces a warning rather than a healthy result.
  • ARC values are informational and have no separate alert thresholds.
  • Missing zpool or a query timeout means the execution failed. Check installation and permissions on the host first.