Skip to content

Instantly share code, notes, and snippets.

@foswiki
Created December 4, 2009 11:52
Show Gist options
  • Save foswiki/248988 to your computer and use it in GitHub Desktop.
Save foswiki/248988 to your computer and use it in GitHub Desktop.
#!/usr/local/bin/bash
# Location of the logfile
LOGFILE=/var/log/sms.log
# Debug
exec >> $LOGFILE
exec 2>&1
set -x
# End of Debug
# Determine the type of message.
case "$1" in
'host')
case "$NAGIOS_NOTIFICATIONTYPE" in
'ACKNOWLEDGEMENT')
MESSAGE="$NAGIOS_NOTIFICATIONTYPE \nHost '$NAGIOS_HOSTALIAS' is $NAGIOS_HOSTSTATE\nI: $NAGIOS_HOSTOUTPUT\nT: $NAGIOS_SHORTDATETIME\nA: $NAGIOS_HOSTACKAUTHOR R: $NAGIOS_HOSTACKCOMMENT"
;;
'PROBLEM')
MESSAGE="$NAGIOS_NOTIFICATIONTYPE \nHost '$NAGIOS_HOSTALIAS' is $NAGIOS_HOSTSTATE\nI: $NAGIOS_HOSTOUTPUT\nT: $NAGIOS_SHORTDATETIME\nR: "
;;
'FLAPPINGSTART')
MESSAGE="$NAGIOS_NOTIFICATIONTYPE \nHost '$NAGIOS_HOSTALIAS' is $NAGIOS_HOSTSTATE\nI: $NAGIOS_HOSTOUTPUT\nT: $NAGIOS_SHORTDATETIME\nR: "
;;
'FLAPPINGSTOP')
MESSAGE="$NAGIOS_NOTIFICATIONTYPE \nHost '$NAGIOS_HOSTALIAS' is $NAGIOS_HOSTSTATE\nI: $NAGIOS_HOSTOUTPUT\nT: $NAGIOS_SHORTDATETIME"
;;
'RECOVERY')
MESSAGE="$NAGIOS_NOTIFICATIONTYPE \nHost '$NAGIOS_HOSTALIAS' is $NAGIOS_HOSTSTATE\nI: $NAGIOS_HOSTOUTPUT\nT: $NAGIOS_SHORTDATETIME"
;;
esac
;;
'service')
case "$NAGIOS_NOTIFICATIONTYPE" in
'ACKNOWLEDGEMENT')
MESSAGE="$NAGIOS_NOTIFICATIONTYPE \nH: $NAGIOS_HOSTNAME\nS: $NAGIOS_SERVICEDESC\nV: $NAGIOS_SERVICESTATE\nI: $NAGIOS_SERVICEOUTPUT\nT: $NAGIOS_SHORTDATETIME\nA: $NAGIOS_SERVICEACKAUTHOR R: $NAGIOS_SERVICEACKCOMMENT"
;;
'PROBLEM')
MESSAGE="$NAGIOS_NOTIFICATIONTYPE \nH: $NAGIOS_HOSTNAME\nS: $NAGIOS_SERVICEDESC\nV: $NAGIOS_SERVICESTATE\nI: $NAGIOS_SERVICEOUTPUT\nT: $NAGIOS_SHORTDATETIME\nR: "
;;
'FLAPPINGSTART')
MESSAGE="$NAGIOS_NOTIFICATIONTYPE \nH: $NAGIOS_HOSTNAME\nS: $NAGIOS_SERVICEDESC\nV: $NAGIOS_SERVICESTATE\nI: $NAGIOS_SERVICEOUTPUT\nT: $NAGIOS_SHORTDATETIME\nR: "
;;
'FLAPPINGSTOP')
MESSAGE="$NAGIOS_NOTIFICATIONTYPE \nH: $NAGIOS_HOSTNAME\nS: $NAGIOS_SERVICEDESC\nV: $NAGIOS_SERVICESTATE\nI: $NAGIOS_SERVICEOUTPUT\nT: $NAGIOS_SHORTDATETIME"
;;
'RECOVERY')
MESSAGE="$NAGIOS_NOTIFICATIONTYPE \nH: $NAGIOS_HOSTNAME\nS: $NAGIOS_SERVICEDESC\nV: $NAGIOS_SERVICESTATE\nI: $NAGIOS_SERVICEOUTPUT\nT: $NAGIOS_SHORTDATETIME"
;;
esac
;;
*)
MESSAGE="Unknown parameter: $*"
;;
esac
# Write to log file.
echo "*********************************************************" >> $LOGFILE
echo -e $MESSAGE >> $LOGFILE
echo "*********************************************************" >> $LOGFILE
echo -e "\n" >> $LOGFILE
# Send the alert.
echo -e $MESSAGE | gammu-smsd-inject -c /etc/gammurc TEXT $NAGIOS_CONTACTPAGER
# Unset the variables used.
unset $MESSAGE
# Exit the program.
exit
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment