Notifications are part of every standard monitoring installation. But OMD makes it very easy to customize the layout of your email notifications by using templates.
By default, you will have the 2 standard notifications templates in your site folder at:
OMD[site]:~$ ls -la etc/mail-templates/
total 12
drwxr-xr-x 1 site site 166 Mar 30 14:37 ./
drwxr-xr-x 1 site site 754 Mar 26 14:21 ../
-rw-r--r-- 1 site site 867 Jun 12 2014 notify-by-email.host.tpl
-rw-r--r-- 1 site site 937 Jun 12 2014 notify-by-email.service.tpl
with the corresponding commands host-notify-by-email
and service-notify-by-email
defined in
etc/nagios/conf.d/notification_commands.cfg
If you just want to change the default layout of your email notifications, just edit
the templates from the path above.
Starting with OMD 2.20 the html mail commands and templates are included already and can directly be used by assigning the host- and service-notify-by-email-html
commands.
In order to send HTML emails we need to add a template for html mails and create two
new commands. The changed parts are bold.
define command { command_name service-notify-by-email-html command_line /usr/bin/perl $USER1$/notify-by-email.pl \ --template=$USER4$/etc/mail-templates/notify-by-email.service.html.tpl \ --mail=/usr/sbin/sendmail \ -o BASEURL="http://`hostname -f`/$USER3$/" \ -o NOTIFICATIONTYPE='$NOTIFICATIONTYPE$' \ -o NOTIFICATIONCOMMENT='$NOTIFICATIONCOMMENT$' \ -o HOSTNAME='$HOSTNAME$' \ -o HOSTALIAS='$HOSTALIAS$' \ -o HOSTSTATE='$HOSTSTATE$' \ -o CONTACTEMAIL='$CONTACTEMAIL$' \ -o HOSTADDRESS='$HOSTADDRESS$' \ -o SHORTDATETIME='$SHORTDATETIME$' \ -o SERVICEDESC='$SERVICEDESC$' \ -o SERVICESTATE='$SERVICESTATE$' \ -o SERVICEOUTPUT='$SERVICEOUTPUT$' \ -o LONGSERVICEOUTPUT='$LONGSERVICEOUTPUT$' \ -o SERVICEPERFDATA='$SERVICEPERFDATA$' \ -o ACKAUTHOR='$SERVICEACKAUTHOR$' \ -o ACKCOMMENT='$SERVICEACKCOMMENT$' \ -o DURATION='$SERVICEDURATION$' \ -o SERVICEEVENTID='$SERVICEEVENTID$' \ -o LASTSERVICEEVENTID='$LASTSERVICEEVENTID$' }
It is important to use /usr/sbin/sendmail as mailer, otherwise you will get errors like
Ignoring header field "MIME-Version: 1.0"
.
Now do the same for the host command.
Last step is to configure your contacts to use the new html commands.
You can also download the prepared files:
cd ~/etc/mail-templates/ && wget https://labs.consol.de/omd/data/notify-by-email.host.html.tpl
cd ~/etc/mail-templates/ && wget https://labs.consol.de/omd/data/notify-by-email.service.html.tpl
cd ~/etc/nagios/conf.d && wget https://labs.consol.de/omd/data/notification_commands_html.cfg
If it doesn’t work as expected, make sure you:
try to run the command manually:
./lib/nagios/plugins/notify-by-email.pl \
--template=etc/mail-templates/notify-by-email.service.html.tpl \
--mail=/usr/sbin/sendmail \
--verbose \
-o CONTACTEMAIL='your@email.com'
Of course you need to insert a valid email address.
If everything worked, you should receive notifications in html format including
the pnp performance graphs.