> 
> A follow up to this is that I found a Macro "$NOTIFICATIONTYPE$". The
> problem is I don't want this Macro sent out on every notification. I
> need to find someway of allowing for the seperate config for a
> acknowledgement notification. The word "ACKNOWLEDGEMENT" specified is
> also to long for text/sms messages.
> 
> $NOTIFICATIONTYPE$ - "Identifies the type of notification that is being
> sent ("PROBLEM", "RECOVERY", or "ACKNOWLEDGEMENT")."

I worked around these issues and set my self up for the future to be
as flexible as needed by changing my notification command to be a local
script I pass the macros to as arguments, so I can test values and 
conditions and do what I want. For instance, here's the original and
new definitions from misccommands.cfg.

# 'notify-by-email' command definition
define command{
        command_name    notify-by-email
#       command_line    /usr/bin/printf "%b" "***** Nagios  
*****\n\nNotification Type: $NOTIFICATIONTYPE$\n\nService: $SERVICEDESC$\nHost: 
$HOSTNAME$\nHost Descripti
on: $HOSTALIAS$\nIP Address: $HOSTADDRESS$\nState: $SERVICESTATE$\n\nDate/Time: 
$LONGDATETIME$\n\nAdditional Info:\n\n$SERVICEOUTPUT$" | /usr/bin/mailx -s "** 
Nagios
alert ($NOTIFICATIONTYPE$) $HOSTNAME$/$SERVICEDESC$ is $SERVICESTATE$ **" 
$CONTACTEMAIL$
        command_line    /usr/local/bin/nagios-notification "$NOTIFICATIONTYPE$" 
"$SERVICEDESC$" "$HOSTNAME$" "$HOSTALIAS$" "$HOSTADDRESS$" "$SERVICESTATE$" 
"$LONGDATE
TIME$" "$SERVICEOUTPUT$" "$CONTACTEMAIL$" "$SERVICEACKAUTHOR$" 
"$SERVICEACKCOMMENT$" $USER3$ $USER4$ $USER5$
}

And the the script /usr/local/bin/nagios-notification looks like this. In this
instance, I've set it up for two actions I wanted - 1. to allow an 
SNMP-triggered
action when I acknowledge a certain service issue, and 2. I don't want to go out
for services that are stale from a downed host. I get mailed for the host, so 
that's enough. If just a service is stale, we'll catch that visually on the
web pages. Hope this helps.

#!/bin/ksh
# notification wrapper script 

# For testings
# set -x
# exec > /tmp/mail.out 2>&1

NOTIFICATIONTYPE=$1
SERVICEDESC=$2
HOSTNAME=$3
HOSTALIAS="$4"
HOSTADDRESS=$5
SERVICESTATE=$6
LONGDATETIME="$7"
SERVICEOUTPUT="$8"
CONTACTEMAIL=$9
SERVICEACKAUTHOR="${10}"
SERVICEACKCOMMENT="${11}"
USER3=${12}
USER4=${13}
USER5=${14}

if [ $NOTIFICATIONTYPE = "ACKNOWLEDGEMENT" ]
then
        /usr/bin/printf "%b" "***** Nagios  *****\n\nNotification Type: 
$NOTIFICATIONTYPE\n\nService: $SERVICEDESC\nHost: $HOSTNAME\nHost Description: 
$HOSTALIAS\nIP 
Address: $HOSTADDRESS\nState: $SERVICESTATE\n\nDate/Time: 
$LONGDATETIME\n\nAdditional Info:\n\n$SERVICEOUTPUT\n\nAcknowledged by: 
$SERVICEACKAUTHOR\nAcknowledgement c
omments: $SERVICEACKCOMMENT" | /usr/bin/mailx -s "** Nagios alert 
($NOTIFICATIONTYPE) $HOSTNAME/$SERVICEDESC is $SERVICESTATE **" $CONTACTEMAIL
        case $SERVICEDESC in
        check-messages)
                /usr/local/bin/snmpget -l AuthPriv -v 3 -u $USER3 -a MD5 -A 
$USER4 -x DES -X $USER5 $HOSTADDRESS nsExtendResult.\"nagiosreset\"
        ;;
        check-else)
                /usr/local/bin/snmpget -l AuthPriv -v 3 -u $USER3 -a MD5 -A 
$USER4 -x DES -X $USER5 $HOSTADDRESS extCommand.12
        ;;
        esac
else
        if echo $SERVICEOUTPUT | grep "Service results are stale" > /dev/null 
2>&1
        then
                : Drop notification
        else
                /usr/bin/printf "%b" "***** Nagios  *****\n\nNotification Type: 
$NOTIFICATIONTYPE\n\nService: $SERVICEDESC\nHost: $HOSTNAME\nHost Description: 
$HOSTAL
IAS\nIP Address: $HOSTADDRESS\nState: $SERVICESTATE\n\nDate/Time: 
$LONGDATETIME\n\nAdditional Info:\n\n$SERVICEOUTPUT" | /usr/bin/mailx -s "** 
Nagios alert ($NOTIFICA
TIONTYPE) $HOSTNAME/$SERVICEDESC is $SERVICESTATE **" $CONTACTEMAIL
        fi
fi


-- 
- Kyle 
---------------------------------------------
[EMAIL PROTECTED]   http://www.panix.com/~kylet    
---------------------------------------------


-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
_______________________________________________
Nagios-users mailing list
Nagios-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nagios-users
::: Please include Nagios version, plugin version (-v) and OS when reporting 
any issue. 
::: Messages without supporting info will risk being sent to /dev/null

Reply via email to