File: [local] / nagios / alert / alert (download)
Revision 1.1, Tue Feb 16 16:48:01 2010 UTC (14 years, 3 months ago) by andrew
Branch: MAIN
initial import of alert
|
#!/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: <type> <method> <contact>"
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