Enabling graphs on your shinken monitor

If you've set up a shinken monitor, you'll probably be a bit disappointed that the graph feature is not included, and that setting it up isn't all that easy. Luckily, this guide will show you how to do this, fairly easy.

The first thing to know is that you'll be needing a dedicated graphing service. This service is in no way affiliated to shinken. So basically, it's a standalone service that you plug into shinken. For this guide we'll be using Graphite as this service. This guide also assumes you are using ubuntu, shinken 2.0.3 and are using the shinken webui module.

Once you have your graphite service up and running, it's time to install the graphite and ui-graphite modules. Be sure to run these command as the shinken user.

$ shinken install graphite
$ shinken install ui-graphite

Once these modules are installed, we have to enable them.

First find your broker configuration. It should be at /etc/shinken/brokers/broker-master.cfg and add the graphite module to the broker.

define broker {
...
modules webui,graphite
...
}

You're should already having the webui module here, so you can just append the graphite module.
After that, we need to enable the ui-graphite module. This is pretty simple as well. Find your webui configuration, it should be at /etc/shinken/modules/webui.cfg, and add the module

You probably have some other modules enabled here, so you can just append it again.
The next step is to configure the graphite and ui-graphite modules. You can find the configuration files for both at /etc/shinken/modules/ .
You can configure ui-graphite to make to look something like this.

A final hint is to make sure your locale is set correctly for the graphite service. This can be done at /your/graphite/folder/local_settings.py. You need to set it to the same locale as the server, or else the 4 hour graphs will not work, and the other graphs will give faulty data/time pairs.

Enjoy your graphs!

MaartenDe Paepe

Maarten is a software engineer, forever employee #1, he enjoys
fiddling with Python and JavaScript.