Search Exchange

Search All Sites

Nagios Live Webinars

Let our experts show you how Nagios can help your organization.

Contact Us

Phone: 1-888-NAGIOS-1


Remember Me

Directory Tree

2 votes
Current Version
Last Release Date
Compatible With
  • Nagios 1.x
  • Nagios 2.x
  • Nagios 3.x
  • Nagios 4.x
Network Monitoring Software - Download Nagios XI
Log Management Software - Nagios Log Server - Download
Netflow Analysis Software - Nagios Network Analyzer - Download
Monitoring plugin to monitor status and usage of zfs pools. Runs on multiple OS (tested on Solaris, FreeBSD, Linux, smartOS).
Up to date description and full documentation:

This plugin is a fork of previously existing plugins from Aldo Fabi and Vitaliy Gladkevitch.

Based on a comparison of existing Nagios plugins to check zfs pools (see, the original plugin was completely rewritten for the purpose on using it independantly of the OS -> tested on Solaris, SmartOS and FreeBSD. It also offers performance data for graphing the usage.

The plugin supports a warning and a critical threshold for the usage (like disk usage) on the ZFS Pool.
If one of the disks in the ZFS Pool is set to DEGRADED, the plugin will return a CRITICAL status.

Performance data are integrated for usage.

# 2006-09-01 Original first version
# 2006-10-04 Updated (no change history known)
# 2013-02-04 Forked and released
# 2013-05-08 Make plugin work on different OS, pepp up plugin
# 2013-05-09 Bugfix in exit code handling
# 2013-05-10 Removed old exit vars (not used anymore)
# 2013-05-21 Added performance data (percentage used)
# 2013-07-11 Bugfix in zpool health check
# 2014-02-10 Bugfix in threshold comparison
# 2014-03-11 Allow plugin to run without enforced thresholds
# 2016-10-12 Fixed incorrect shell quoting and typos
# 2022-03-01 Merge PR #10, manually solve conflicts
# 2022-05-24 Removed need for 'awk', using bash-functions instead
# 2023-02-15 Bugfix in single pool CRITICAL output (issue #13)

***Tested on OS...***
- Solaris 10/11
- OpenSolaris
- SmartOS
- FreeBSD
- Linux

./ -p (poolname|ALL) [-w warnpercent] [-c critpercent]

***Example Output***
./ -p ALL -w 80 -c 90
ALL ZFS POOLS OK (datapool logpool rpool)|datapool=47% logpool=38% rpool=78%

Reviews (2)
Good script, it's just I believe that free space should be monitored using something like "zfs list" because "zpool list" always shows more that actually available.
Right now zpool list says following on my system:
pool0 5.33T 4.27T 1.06T
But "zfs list" shows less:
pool0 4.76T 494G
byxrated, January 4, 2014
The script itself works, there was only an exception on FreeBSD where no which cmd is available in bash. I completely rewrote the script to add warning/critical with free space in G. Nagios Exit Parameters were not defined, added also some additional checks for arguments. When warn/crit was not specified it will just look if the pool is ONLINE.
Owner's reply

Hello, the "which" command does exist in FreeBSD, too. However you're right about the fixed thresholds, I should remove them.