RealOpInsight and Shinken: Preview of the upcoming integration with Livestatus API

On behalf of NGRT4N Team, I’m proud to announce that a new release of RealOpInsight is expected very soon. This version will include several new features such as full screen mode, incident filter and more icons. Most of all, it will include the support for Livestatus API for better integration with Shinken and other Nagios-like systems.

As an alternative to NGRT4N Daemon Service, the integration with Livestatus API shall avoid the duplication of status data in memory while being more accurate. Indeed, in comparison to NGRT4N Daemon which parses the status.dat file and stores the resulting data in memory, the Livestatus API points on the same data than the monitoring engine (e.g. Shinken, Nagios). Therefore, as soon as the latter processes checks, any new status data retrieved via the Livestatus API would be up to date.

Moreover, as we will show in the rest of this post, the configuration shall be easy. First, you would need to enable — if not yet the case — the Livestatus API module on Shinken. To do that, add the following lines in your Shinken configuration file (shinken-specific.cfg).

define module{
  module_name Livestatus
  module_type livestatus
  host *
  port 50000
  socket /usr/local/shinken/var/rw/live
}

In short, this declaration states that Livestatus API shall listen on any network interfaces (host *) on port 50000 from the Shinken server.

Once the Livestatus API is running, configuring RealOpInsight is straightforward. As usual, you would launch the Configuration Manager and log on as admin (login: ngrt4n-adm, password: *****).

Then fill the form as follows:

  • Set the Web interface field with the url of Shinken web interface. In the example on the screenshot, it’s http://shinken-server:7767/. Optional for Shinken and for any Nagios-based monitoring system, this field is necessary only if you want to use the embedded web browser of RealOpInsight Operations Console.
  • Set the Server Address field with the hostname of the IP address of Shinken server.
  • Set the Port field  with the port on which Livestatus API is listening on on the Shinken server.

To give you a better idea on how this will work, we have built a service view that gives an insight on the healthy of a Shinken server. The structure of the service view hierarchy has been organized as follows:

Shinken server 
   |--Availability  (result of check_ping)
   |--Performance 
          |--Network usage (check_linux_network_usage)
          |--CPU Load usage (check_load)
          |--Memory usage  (check_mem.pl) 

Here is the dashboard as you would have with RealOpInsight, the statuses of low level services (e.g. Memory usage) are retrieved through the Livestatus API. As you may have observed, the Message Console now enables a toolbar (see the red rectangle) from which you can for instance filter trouble messages or change the font size.

When the Web Interface field is set, you would be able to access to the Shinken Web UI through the RealOpInsight embedded browser as show on the next screenshot.

So what if you’re not using Shinken? No worry, if you are using MK Livestatus, you can bind the local UNIX socket to a tcp socket thanks to xinetd and unixcat as described here.

That’s all folks, your comments are welcome. Stay tuned @ngrt4n.

Leave a Reply

Your email address will not be published. Required fields are marked *