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.
Princeton/pu/libexec/eventhandlers/gearman_server_fail

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