What the plugin doesThe 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'. Requirements
ArchitectureThe architecture is described on this page Plugin FunctionallityThe plugin functionality is described underHow-the-plugin-works More InformationAs 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. |