Search Exchange
Search All Sites
Nagios Live Webinars
Let our experts show you how Nagios can help your organization.Login
Directory Tree
check_zpools.sh
20230215
2023-02-15
- Nagios 1.x
- Nagios 2.x
- Nagios 3.x
- Nagios 4.x
GPL
46264
Meet The New Nagios Core Services Platform
Built on over 25 years of monitoring experience, the Nagios Core Services Platform provides insightful monitoring dashboards, time-saving monitoring wizards, and unmatched ease of use. Use it for free indefinitely.
Monitoring Made Magically Better
- Nagios Core on Overdrive
- Powerful Monitoring Dashboards
- Time-Saving Configuration Wizards
- Open Source Powered Monitoring On Steroids
- And So Much More!
***Description***
Up to date description and full documentation: https://www.claudiokuenzler.com/monitoring-plugins/check_zpools.php
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 http://www.claudiokuenzler.com/blog/345/monitor-zfs-disk-pools-nagios-plugin-comparison), 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.
***History***
# 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
***Usage***
./check_zpools.sh -p (poolname|ALL) [-w warnpercent] [-c critpercent]
***Example Output***
./check_zpools.sh -p ALL -w 80 -c 90
ALL ZFS POOLS OK (datapool logpool rpool)|datapool=47% logpool=38% rpool=78%
Up to date description and full documentation: https://www.claudiokuenzler.com/monitoring-plugins/check_zpools.php
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 http://www.claudiokuenzler.com/blog/345/monitor-zfs-disk-pools-nagios-plugin-comparison), 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.
***History***
# 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
***Usage***
./check_zpools.sh -p (poolname|ALL) [-w warnpercent] [-c critpercent]
***Example Output***
./check_zpools.sh -p ALL -w 80 -c 90
ALL ZFS POOLS OK (datapool logpool rpool)|datapool=47% logpool=38% rpool=78%
Reviews (2)
byvorbster, April 11, 2016
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:
NAME SIZE ALLOC FREE
pool0 5.33T 4.27T 1.06T
But "zfs list" shows less:
NAME USED AVAIL
pool0 4.76T 494G
Right now zpool list says following on my system:
NAME SIZE ALLOC FREE
pool0 5.33T 4.27T 1.06T
But "zfs list" shows less:
NAME USED AVAIL
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.
http://pastebin.com/j6AvtKPk
http://pastebin.com/j6AvtKPk
Owner's reply
Hello, the "which" command does exist in FreeBSD, too. However you're right about the fixed thresholds, I should remove them.