#!/bin/bash # # Nagios Filesystem Plugin # # Description: Check the filesystem status for ZFS # Author : Suraj K Abraham # Version : 1.0 # # # Usage if [ $# -lt 3 ]; then echo "Usage: $0 " exit 2 fi # Filesystem threshold values Zpool_NAME=$1 FS_WARNING=$2 FS_CRITICAL=$3 zpool list |grep "^$Zpool_NAME " > /dev/null 2>&1 if [ $? -ne 0 ] ; then echo "UNKNOWN : zpool $Zpool_NAME is invalid" exit 3 fi if (( $FS_CRITICAL <= $FS_WARNING )) then echo "UNKNOWN : warning:$FS_WARNING critical:$FS_CRITICAL, critical value must be less than the warning value." exit 3 fi ZFS_mountpoint=`zfs list -H -o mountpoint $Zpool_NAME` ZFS_utilization=`zpool list -H -o capacity $Zpool_NAME | cut -d % -f1` ZFS_used=`zpool list -H -o used $Zpool_NAME` ZFS_size=`zpool list -H -o size $Zpool_NAME` i=$ZFS_utilization if [ $i -lt $2 ] ; then echo "$ZFS_mountpoint: $i%used - (Used: $ZFS_used/Total: $ZFS_size) ($FS_WARNING%): OK" ; exit 0 elif [ $i -ge $3 ] ; then echo "$ZFS_mountpoint: $i%used - (Used: $ZFS_used/Total: $ZFS_size) ($FS_CRITICAL%): CRITICAL" ; exit 2 else echo "$ZFS_mountpoint: $i%used - (Used: $ZFS_used/Total: $ZFS_size) ($FS_WARNING%): WARNING" ; exit 1 fi