Initial commit
This commit is contained in:
parent
cb24cc9b9b
commit
2500470a1a
32 changed files with 2660 additions and 0 deletions
62
beep-notify.sh
Executable file
62
beep-notify.sh
Executable file
|
|
@ -0,0 +1,62 @@
|
|||
#!/bin/bash
|
||||
#
|
||||
# Icinga2 Notification
|
||||
#
|
||||
# This will beep the system speaker when a problem occur
|
||||
|
||||
DEBUG_VARS_PATH=".beep-notify.vars"
|
||||
if [ -e ${DEBUG_VARS_PATH} ]; then
|
||||
. ${DEBUG_VARS_PATH}
|
||||
fi
|
||||
|
||||
function _beep {
|
||||
if [ -z "${RPID}" ]; then
|
||||
# We need to store our subshell pid
|
||||
#
|
||||
if [ "${BASH_VERSINFO[0]}" -lt 4 ]; then
|
||||
MYPID=$( : ; bash -c 'echo $PPID' )
|
||||
else
|
||||
MYPID=$BASHPID
|
||||
fi
|
||||
echo $MYPID > $PID_PATH
|
||||
|
||||
while true; do
|
||||
sudo /bin/beep -f 1000 -n -f 2000 -n -f 1500 ## Only ROOT can access /dev/tty0
|
||||
if [ $? != 0 ]; then ## If we can't beep, no need to keep trying
|
||||
exit 1 ## No TTY to output error to, just exit
|
||||
fi
|
||||
sleep 2
|
||||
done
|
||||
fi
|
||||
}
|
||||
|
||||
PID_PATH=/tmp/beep-notify.pid
|
||||
RPID=
|
||||
if [ -e ${PID_PATH} ]; then
|
||||
if [ -f /proc/$(cat ${PID_PATH})/status ]; then
|
||||
RPID=$(cat ${PID_PATH})
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
case $NOTIFICATIONTYPE in
|
||||
PROBLEM)
|
||||
if [ "${HOSTSTATE}" = "DOWN" ]; then
|
||||
echo "OK HOST DOWN - INITIATING SYSTEM BEEP"
|
||||
_beep &
|
||||
exit 0
|
||||
elif [ "${SERVICESTATE}" = "CRITICAL" ]; then
|
||||
echo "OK SERVICE CRITICAL - INITIATING SYSTEM BEEP"
|
||||
_beep &
|
||||
exit 0
|
||||
fi
|
||||
;;
|
||||
ACKNOWLEDGEMENT|RECOVERY)
|
||||
echo "OK ${NOTIFICATIONTYPE} - KILLING SYSTEM BEEP"
|
||||
kill -SIGTERM $RPID 2> /dev/null
|
||||
rm -f $PID_PATH
|
||||
exit 0
|
||||
;;
|
||||
esac
|
||||
|
||||
exit 1
|
||||
Loading…
Add table
Add a link
Reference in a new issue