Mail Templates Nagios (Con Link de Ver Alarma y Link de Acknowledge)
Una opción para mejorar cosmética y funcionalmente los envíos de Mails en Nagios Core.
Se debe definir previamente en el generic template de host y service (o en el los que sean mejores según su configuraición), la variable que defina la URL de su instancia de Nagios.
Por ejemplo:
define service{
name generic-service
_NAGIOS_SERVICE_URL http://nagios.3ops.com/nagios
register 0
}
define host{
name generic-host
_NAGIOS_URL http://nagios.3ops.com/nagios
register 0
}
Y a continuación la configuración para notify-host-by-email y notify-service-by-email:
define command{
command_name notify-host-by-email
command_line /usr/bin/printf "%b" "\n\
HOST: "$HOSTNAME$"\n\
IP: "$HOSTADDRESS$"\n\n\
Info: $HOSTOUTPUT$\n\n\
Date/Time: $LONGDATETIME$\n\n\
ACKNOWLEDGE: "$_HOSTNAGIOS_URL$"/cgi-bin/cmd.cgi?cmd_typ=34&host="$HOSTALIAS$"&service="$SERVICEDESC$"\n\
VER ALARMA: "$_HOSTNAGIOS_URL$"/cgi-bin/extinfo.cgi?type=2&host="$HOSTALIAS$"&service="$SERVICEDESC$"" | \
/usr/bin/mail -s "HOST $HOSTSTATE$: $HOSTNAME$" $CONTACTEMAIL$
}
define command{
command_name notify-service-by-email
command_line /usr/bin/printf "%b" "\n\
HOST: "$HOSTALIAS$"\n\
IP: "$HOSTADDRESS$"\n\n\
SERVICIO: "$SERVICEDESC$"\n\
$SERVICEOUTPUT$\n\n\
Tipo de Notificacion: "$NOTIFICATIONTYPE$"\n\
Estado: "$SERVICESTATE$"\n\n\
Date/Time: $LONGDATETIME$\n\n\
ACKNOWLEDGE: '$_SERVICENAGIOS_SERVICE_URL$/cgi-bin/cmd.cgi?cmd_typ=34&host=$HOSTALIAS$&service=$SERVICEDESC$'\n\
VER ALARMA: '$_SERVICENAGIOS_SERVICE_URL$/cgi-bin/extinfo.cgi?type=2&host=$HOSTALIAS$&service=$SERVICEDESC$'" | \
/usr/bin/mailx -s "SERVICE $SERVICESTATE$: $HOSTALIAS$ ($SERVICEDESC$)" $CONTACTEMAIL$
}
VER ALARMA y ACKNOWELDEGE se arman con la variable que define la URL de Nagios, y los parámetros del servicio o el host.
También se podría definir el comando de envío con otro nombre y manejar uno y otro (o varios), según la alarma, o incluso según el remitente (por ejemplo un logo del cliente que lo recibe, si fuese multi-cliente).
Saludos!