#!/bin/sh # $AFresh1: alert,v 1.1 2010/02/16 16:48:01 andrew Exp $ local _type=$1 local _method=$2 local _contact=$3 if [ X"" == X"$_type" -o $"" == X"$_method" -o X"" == X"$_contact" ]; then echo "Usage: $0: " echo " type is HOST or SERVICE" echo " method is mail, qpage or jabber" echo " contact is the identifier to send to" exit 2 fi ### HOST Descriptions ### local _short_host="$NAGIOS_HOSTSTATE: $NAGIOS_HOSTNAME" local _long_host="Date/Time: $NAGIOS_LONGDATETIME Notification Type: $NAGIOS_NOTIFICATIONTYPE Host: $NAGIOS_HOSTALIAS ($NAGIOS_HOSTADDRESS) State: $NAGIOS_HOSTSTATE (for $NAGIOS_HOSTDURATION) https://stats.redrivernet.com/CGi-bin/nagios/extinfo.cgi?type=1&host=$NAGIOS_HOSTNAME " ### SERVICE Descriptions ### local _short_svc="$NAGIOS_SERVICESTATE: $NAGIOS_HOSTNAME $NAGIOS_SERVICEDESC ($NAGIOS_SERVICEOUTPUT)" local _long_svc="Date/Time: $NAGIOS_LONGDATETIME Notification Type: $NAGIOS_NOTIFICATIONTYPE Service: $NAGIOS_SERVICEDESC Host: $NAGIOS_HOSTALIAS ($NAGIOS_HOSTADDRESS) State: $NAGIOS_SERVICESTATE (for $NAGIOS_SERVICEDURATION) https://stats.redrivernet.com/cgi-bin/nagios/extinfo.cgi?type=2&host=$NAGIOS_HOSTNAME&service=`echo $NAGIOS_SERVICEDESC | sed -e 's/ /+/g'` " ### Actions ### local _additional_vars=NOTIFICATIONCOMMENT local _short local _long case $_type in HOST) _short=$_short_host _long=$_long_host _additional_vars="$_additional_vars HOSTOUTPUT HOSTACKCOMMENT" ;; SERVICE) _short=$_short_svc _long=$_long_svc _additional_vars="$_additional_vars SERVICEOUTPUT SERVICEACKCOMMENT" ;; *) echo "Unknown type $_type" exit 3 ;; esac local _add local _a for _a in $_additional_vars; do local _val eval _val=\${NAGIOS_${_a}} if [ X"" != X"$_val" ]; then _add="$_add\n$_val" fi done if [ X"" != X"$_add" ]; then _long="$_long\nAdditional Info: $_add" fi case $_method in mail) echo "$_long" | /usr/bin/mail -s "$_short" $_contact ;; qpage) echo "$_short" | /usr/local/bin/page_somehow $_contact ;; jabber) echo "$_long" | /usr/local/libexec/nagios/eventhandlers/alert_jabber $_contact ;; *) echo "Unknown method $_method" exit 3 ;; esac