Multisite - Custom Notes


This article is obsolete and may be not valid anymore!

1. Custom host and service notes

Nagios allows you to configure a noter_url for each host and service. This can be used to link to custom web pages showing more information about that specific item. It is not possible - however - to configure notes or in general text to be displayed in the GUI directly.

As of version 1.1.7i5 Multisite allows you to do exactly this in an easy and flexible way: It allows you to attach arbitrary HTML text to a service or a host. That text will be displayed in the detailed view of the host or service. That text is available as a new column named Custom host notes or Custom service notes and thus can be added to each view as you prefer.

You are not limited in the amount or complexity of text. You can embed hyperlinks and other HTML code, even iframes.

2. How to add custom notes

Adding your own notes is easy. No configuration is needed. First create a subdirectory notes in the same directory where multisite.mk is present - usually /etc/check_mk:

root@linux# cd /etc/check_mk
root@linux# mkdir notes

2.1. Notes for hosts

You can add notes for hosts and/or services. Let's start with hosts. Make a subdirectory called hosts:

root@linux# cd notes
root@linux# mkdir hosts

Now let's make a note for the host b02nag01. This is done by creating a file with that name and writing HTML code into it:

/etc/check_mk/notes/hosts/b02nag01
This is a note for <tt>b02nag02</tt>

You can use one file for more hosts by making use of shell patterns like * and ?. Please note that here the filename aktually contains the *. While this concept is very unusual it is not at all impossible nor inconvenient. You just have to make sure that you use quotes in order to escape the patterns from the shell. The following example creates a description for all hosts containing nag:

root@linux# cd /etc/check_mk/notes/hosts
root@linux# vim '*nag*'

If more than one file matches then all matching files will be used and several notes will be attached to the host.

2.2. Notes for services

Making notes for services is just as easy as for hosts but with one extra directory level. First you have to create a subdirectory services:

root@linux# cd /etc/check_mk/notes
root@linux# mkdir services
root@linux# cd services

Service notes can be specific to hosts. Therefore you first have to create directories for your hosts. Here exactly the same rules apply as for host notes with the only difference that we now create directories instead of files. In the following example we create the three directories b02nag02, b02* and *. They will be used for the host b02nag02, all hosts beginning with b02* (including b02nag02 and all of your host.

Just as with the host notes all matching directories will be used and scanned for matching notes. This allows you to make general notes for a specific type of services by using the directory * and at the same time additional notes for that service on one ore more specific hosts.

Within the directories spoken of you now create files matching the service descriptions the notes should be displayed at. Again those files may contain arbitrary HTML code. Here are some examples:

Make a note for service CPU Load on all hosts:

root@linux# cd /etc/check_mk/notes/services
root@linux# mkdir '*'
root@linux# vim '*/CPU Load'

Make an additional note for CPU Load just on b02nag02:

root@linux# mkdir 'b02nag02'
root@linux# vim 'b02nag02/CPU Load'

Make notes for services containing eth0 on hosts beginning with srv:

root@linux# mkdir 'srv*'
root@linux# vim 'srv*/*eth0*'

3. Replacing tags

You are for sure not the first one having the idea to add hyper links into your host or service notes. If your link contains host specific information (such as the host name or its ip address) you probably do not want to copy and paste your host notes file for each host.

Therefore, Multisite is so kind as to replace the following macros in your HTML code with the actual values:

$HOSTNAME$The host name
$HOSTNAME_LOWER$The host name converted to lower case
$HOSTNAME_UPPER$The host name converted to upper case (new in 1.1.8b2)
$HOSTNAME_TITLE$The host name with the first character upper case and the rest lower case (new in 1.1.8b2)
$HOSTADDRESS$The IP address of the host
$SERVICEDESC$The service description (only for service notes)
$SITE$The id of the site as defined in multisite.mk (new in 1.1.9i5)
$URL_PREFIX$The URL prefix of the site as defined in multisite.mk (new in 1.1.9i5)
$HOSTOUTPUT$The output of the host check plugin (new in 1.2.2, only for host notes)
$SERVICEOUTPUT$The output of the check plugin (new in 1.2.2, only for service notes)

Here is an example for a notes file making use of that:

/etc/check_mk/notes/hosts/*
Lookup <a href="http://mywiki.local/page.php?host=$HOSTNAME$">this host in Wiki</a>