JBoss Community Archive (Read Only)

RHQ 4.9

Plugins - Nagios




Monitoring for Nagios Server and its ressources

RHQ Version


Plugin Version






What the plugin does

The plugin does implement basic monitoring of Nagios Server. It uses a third party tool called MK_livestatus by a developer named Matthias Kettner to communicate with Nagios. This tool needs some specific commands and delivers information about Nagios in a reply string. It is well described on its own web page (mk_livestatus ). I implemented some classes that do the parsing and represent the different Nagios information that can be maintained by mk_livestatus.  At the moment there are only some few metrics that are monitored for the purpose of showing that it works. The source code model is described later, also the install steps which are necessary to run the plugin. The plugin development is part of a master thesis which is written at the university of applied science in Saarbruecken / Germany and which is administrated by Heiko W. Rupp.    

The data model for parsing and storing nagios data has been enlarged in the meantime. It now stores the status data of Nagios and all of its host and the services of the single hosts. Further it serves some methods to the developers to get the Nagios data very easy. It has been tested on a test system with about 170 Hosts and works well.

After we finished a stable version 1.0. which monitors the nagios basic services in the first step, and was still using the dynamic description of the plugin by static xml metadata, the focus was on making it possible to add new ResourceTypes dynamically. This goal has been reached in the meantime, a prototype has been implemented that shows how a system that uses dynamic metadata could work. There were several steps that have been implemented during the work at the plugin. It began with changing the server side source code, went on with changing the agent part of the rhq system and finished with implementing a Nagios plugin that creates a new ResourceType and MeasurementData dynamically at runtime. The changes that were made and the involved classes are described in sequence charts in the chapter 'documentation'.


  • Apache and Xinetd have to be installed and running

  • Installation of Nagios Version 3.2.0. You can find a quickstart installation guide for several operating systems under the following link (Nagios_Quick_Start ). I´m using OpenSuse 11.2 at the moment.

  • Installation of MK_livestatus. The installation is very simple and is well described under the following link (mk_livestatus ) - Setting up and using livestatus. This chapter is very important because it includes all the necessary steps that have to be done to make a communication to Nagios via mk_livestatus possible, so do all the steps carefully.

  • Connect mk_livestatus to Xinetd. This is necessary because my plugin is using this way to communicate with mk_livestatus over a TCP socket . To connect xinetd with mk_livetstatus you have to configure the xinetd.d file like it is described in the chapter Remote access to livestatus -  Livestatus via xinetd. I used the default settings, if you want to use your own settings you will have to do some changes in the source code of the plugin.


The architecture is described on this page

Plugin Functionallity

The plugin functionality is described underHow-the-plugin-works

More Information

As this plugin was developed as a practical part of a Master Thesis, there is a documentation existing that can be read under the following link below. The whole documentation was written in german.


JBoss.org Content Archive (Read Only), exported from JBoss Community Documentation Editor at 2020-03-13 07:58:02 UTC, last content change 2013-09-18 19:42:04 UTC.