You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
60 lines
1.2 KiB
Bash
60 lines
1.2 KiB
Bash
#!/bin/bash
|
|
|
|
if [[ "$#" -ne "4" ]]; then
|
|
echo "Usage: $0 "'$SERVICESTATE$ $SERVICESTATETYPE$ $SERVICEATTEMPT$'
|
|
exit 1
|
|
fi
|
|
|
|
sstate="$1"
|
|
stype="$2"
|
|
sattempt="$3"
|
|
|
|
case $sstate in
|
|
OK) # Recovery - enable active checks
|
|
|
|
exit $?
|
|
;;
|
|
|
|
WARNING) # Restart
|
|
/usr/bin/sudo /sbin/service gearmand restart
|
|
exit $?
|
|
;;
|
|
|
|
CRITICAL) # Restart on first attempt, disable active checks on second
|
|
case $sattempt in
|
|
1)
|
|
/usr/bin/sudo /sbin/service gearmand restart
|
|
exit $?
|
|
;;
|
|
|
|
2)
|
|
/usr/bin/sudo /sbin/service gearmand restart
|
|
now=`date +%s`
|
|
commandfile='/usr/local/monitoring/nagios/var/rw/nagios.cmd'
|
|
/usr/bin/printf "[%lu] STOP_EXECUTING_SVC_CHECKS\n" $now > $commandfile
|
|
|
|
/bin/mail -s "ACHTUNG!!!! NAGIOS CHECKING STOPPED DUE TO GEARMAN ERROR!!! AHHHHH!!!!!" epm-list@Princeton.EDU igubenko@Princeton.EDU 3474950942@txt.att.net <<%
|
|
Gearman server has encountered an error and is not functioning properly. Service checks have been stopped to prevent process overflowing. Please check ASAP!!!
|
|
%
|
|
exit $?
|
|
;;
|
|
|
|
*)
|
|
# Do nothing - too early to do anything
|
|
;;
|
|
esac
|
|
;;
|
|
|
|
UNKNOWN)
|
|
echo "Service state is unknown"
|
|
exit 1
|
|
;;
|
|
|
|
*)
|
|
echo "Invalid service state passed"
|
|
exit 1
|
|
;;
|
|
esac
|
|
|
|
exit 0
|