#!/bin/bash #define command { # command_name notify-host-by-sms # command_line /usr/lib/nagios/plugins/sms.sh host #} #define command { # command_name notify-service-by-sms # command_line /usr/lib/nagios/plugins/sms.sh service #} # Location of the logfile LOGFILE=/var/log/nagios3/sms.log MESSAGE="Nagios Alert" # 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" ;; 'FLAPPINGSTART') MESSAGE="$NAGIOS_NOTIFICATIONTYPE \nHost '$NAGIOS_HOSTALIAS' is $NAGIOS_HOSTSTATE\nI: $NAGIOS_HOSTOUTPUT\nT: $NAGIOS_SHORTDATETIME" ;; '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" ;; 'FLAPPINGSTART') MESSAGE="$NAGIOS_NOTIFICATIONTYPE \nH: $NAGIOS_HOSTNAME\nS: $NAGIOS_SERVICEDESC\nV: $NAGIOS_SERVICESTATE\nI: $NAGIOS_SERVICEOUTPUT\nT: $NAGIOS_SHORTDATETIME" ;; '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 ;; esac # Write to log file. echo "*********************************************************" >> $LOGFILE echo -e $MESSAGE >> $LOGFILE echo "*********************************************************" >> $LOGFILE echo -e "\n" >> $LOGFILE # Send the alert. wget -O- "http://ahspogoplug1.aceshigh.local:13003/cgi-bin/sendsms?username=test&password=test&from=XXXXXXXXXXX&to=XXXXXXXXXXX&text=$MESSAGE" wget -O- "http://ahspogoplug1.aceshigh.local:13003/cgi-bin/sendsms?username=test&password=test&from=XXXXXXXXXXX&to=XXXXXXXXXXX&text=$MESSAGE" # Unset the variables used. unset $MESSAGE # Exit the program. exit