#!/bin/bash
#a nagios plugin for check moosefs healthy
#write 20120821
CHECK_OK=0
CHECK_WARNING=1
CHECK_CRITICAL=2
CHECK_UNKNOWN=3
CHECK_MASTER () {
check_process=`ps aux|grep '/usr/local/mfs/sbin/mfsmaster'|grep -v grep`
check_port=`netstat -lunpt|grep ':9419'`
if [ -n "$check_process" -a -n "$check_port" ]
then
echo "mfsmaster is OK"
exit 0
else
echo "mfsmaster is not running"
exit 2
fi
}
CHECK_CHUNK () {
check_process=`ps aux|grep '/usr/local/mfs/sbin/mfschunkserver'|grep -v grep`
check_port=`netstat -lunpt|grep ':9422'`
if [ -n "$check_process" -a -n "$check_port" ]
then
echo "mfschunkserver is OK"
exit 0
else
echo "mfschunkserver is not running"
exit 2
fi
}
CHECK_CLIENT () {
check_process=`ps aux|grep '/usr/local/mfs/bin/mfsmount'|grep -v grep`
if [ -n "$check_process" ]
then
echo "mfsclient is OK"
exit 0
else
echo "mfsclient is not running"
exit 2
fi
}
CHECK_METALOGGER () {
check_process=`ps aux|grep '/usr/local/mfs/sbin/mfsmetalogger'|grep -v grep`
if [ -n "$check_process" ]
then
echo "mfschunkserver is OK"
exit 0
else
echo "mfschunkserver is not running"
exit 2
fi
}
case "$1" in
-M)
CHECK_MASTER
;;
-c)
CHECK_CLIENT
;;
-C)
CHECK_CHUNK
;;
-L)
CHECK_METALOGGER
;;
*)
echo "Unknown argement: $1"
;;
esac