Missing Macro: $SERVICECONTACTGROUPS$
Caylan Van Larson
caylan at mac.com
Fri Mar 21 21:02:00 CET 2008
Here's the full hack if anyone is interested.
Service Notification
command_line $USER3$/scripts/send-email.sh
"$NOTIFICATIONTYPE$" "$SERVICEDESC$" "$HOSTALIAS$" "$HOSTADDRESS$"
"$SERVICESTATE$" "$LONGDATETIME$" "$SERVICEOUTPUT$$LONGSERVICEOUTPUT$"
"$CONTACTGROUPNAME$" "$CONTACTEMAIL$"
Host Notification
command_line $USER2$/scripts/send-email.sh
"$NOTIFICATIONTYPE$" "" "$HOSTALIAS$" "$HOSTADDRESS$" "$HOSTSTATE$"
"$LONGDATETIME$" "$HOSTOUTPUT$$LONGHOSTOUTPUT$" "$CONTACTGROUPNAME$"
"$CONTACTEMAIL$"
send-email.sh
#!/bin/bash
# Author: Caylan Larson
# Date: 3/20/08
# Note: This script is called by ~nagios/etc/commands.cfg to send out
# email notifications for both services and hosts.
NOTIFICATIONTYPE=$1
SERVICEDESC=$2 # Empty if host notification
HOSTALIAS=$3
HOSTADDRESS=$4
STATE=$5
LONGDATETIME=$6
PLUGINOUTPUT=$7
CONTACTGROUPNAME=$8
CONTACTEMAIL=$9
if [ -z $SERVICEDESC ]; then
# Send out host notification
EMAIL_SUBJECT="Host $STATE alert for $HOSTADDRESS!"
GREP_1=$HOSTADDRESS
GREP_2='define host {'
else
# Send out service notification
EMAIL_SUBJECT="$STATE $NOTIFICATIONTYPE alert $HOSTADDRESS/
$SERVICEDESC"
SERVICE_LINE="Service: $SERVICEDESC"
GREP_1=$SERVICEDESC
GREP_2=$HOSTADDRESS
fi
# To make up for an absent macro (below) I coded this hack. Caylan
Larson
# $SERVICECONTACTGROUPS$ - "A comma separated list of the short
names taken from the contact_groups directive of the service
definition."
SERVICECONTACTGROUPS=$( grep "$GREP_1" ~nagios/var/objects.cache -B 1 -
A 3 \
| grep "$GREP_2" -A 5 \
| grep contact_groups \
| awk '{print $2}' \
| sed -r "s/,*$CONTACTGROUPNAME//" \
| sed -r 's/^,|,$//' )
# The 2nd to the last sed removes the current contact group
if [ -z "$SERVICECONTACTGROUPS" ]; then
SERVICECONTACTGROUPS="NA (Only $CONTACTGROUPNAME)"
fi
# Send Email
cat <<EOF | mail -s "$EMAIL_SUBJECT" $CONTACTEMAIL
***** Nagios *****
Notification Type: $NOTIFICATIONTYPE
$SERVICE_LINE
Host: $HOSTALIAS
Address: $HOSTADDRESS
State: $STATE
Date/Time: $LONGDATETIME
Other Contacts: $SERVICECONTACTGROUPS
Additional Info:
$PLUGINOUTPUT
EOF
---
Caylan
On Mar 20, 2008, at 2:54 PM, Caylan Van Larson wrote:
> Our contact group names are modeled after exchange distribution
> lists. Sometimes notifications are sent to multiple lists (service
> desk, dev team, oracle team). I need the notification emails to
> include the short names of the other contact groups (hence
> distribution list names) configured for the service. I understand
> that this is not a guarantee that a notification will be sent to all
> groups (since they could have different notification options).
>
> To my surprise Nagios 3 does not include this macro.
>
> $SERVICECONTACTGROUPS$ - "A comma separated list of the short names
> taken from the contact_groups directive of the service definition."
>
> In the meantime I can use this ugly hack inside a script to get the
> list of contact-groups fit for emailing:
>
> grep "$SERVICEDESC" ~nagios/var/objects.cache -B 1 -A 3 | grep
> $HOSTADDRESS -A 5 | grep contact_groups | awk '{print $2}'
>
> Thoughts?
>
> ---
>
> Caylan
>
>
> -------------------------------------------------------------------------
> This SF.net email is sponsored by: Microsoft
> Defy all challenges. Microsoft(R) Visual Studio 2008.
> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/_______________________________________________
> Nagios-users mailing list
> Nagios-users at 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://www.monitoring-lists.org/archive/users/attachments/20080321/bfe5d7f1/attachment.html>
-------------- next part --------------
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
-------------- next part --------------
_______________________________________________
Nagios-users mailing list
Nagios-users at 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
More information about the Users
mailing list