The Nagios XML Engine (NXE for short) is an XML based processing
layer for the Open Source Nagios
scheduling & monitoring platform. NXE provides an XML interface
for the most critical aspects of managing and reporting on your
Nagios infrastructure via a standard and consistent XML format.
NXE will report the status of one or more Nagios systems as XML,
it will allow you to transform the status XML using XSLT stylesheets
to the format of your choice and NXE will process and create Nagios
external commands on your behalf allowing you to control operations
of your Nagios system via standard XML interfaces.
The Nagios XML Engine was produced to address several issues
that are common on networks running the Nagios system. First and
foremost of these is the issue of data integration between Nagios
and other corporate systems. XML is rapidly becoming the "de
facto" data encapsulation method in corporate IT environments.
It is used extensively to transfer data from one system to another
and many of the emerging network resource access protocols are
based on XML data transmission. SOAP, XML-RPC and even standard
web served HTML are examples of this emerging trend. While Nagios
is perhaps the most advanced monitoring and scheduling platform
available, it does not provide built in support for any XML interface.
NXE is designed to address these data integration concerns by
allowing Nagios to be fully integrated with any XML capable platform.
Many intranet, extranet and web based application platforms (such
as Microsoft's IIS/.Net servers, IBM's Domino & Websphere
and Apache's SOAP, Xerces & Xalan projects to name a few)
use XML as their core data structures and NXE allows Nagios to
be integrated with all of them for both reporting and control
(via Nagios' external command interface) of multiple Nagios systems.
NXE's inclusion of an XSLT transformation engine means that you
can convert Nagios data to any conceivable format by simply creating
a new XSLT style sheet. XSLT style sheets can also be used to
perform complex data reporting functions such as aggregating results
from many separate Nagios hosts or even transforming Nagios data
into an Adobe PDF or Microsoft Word/Excel file. The included sample
XSLT style sheet demonstrates how a fully functional custom Web
interface for Nagios could be built using nothing more then NXE
and some XSLT stylesheets.
NXE was designed for maximum flexibility at run time. This means
that you can specify almost all the settings of the data returned
by NXE when you call it. You can always specify which instances
of Nagios to report from or send commands to or which style sheet
you would like to use to transform the results when you call NXE.
This is true whether you are using the URL (HTTP GET), XML-RPC
or command line modes of execution.
NXE is a Perl based application that works on both Win32 &
Unix platforms. NXE can be run from the command line or used as
a CGI with any Perl compatible Web server. When installed as a
CGI, NXE can be accessed via standard HTTP GET commands or XML-RPC.
An XML-RPC client (written in Perl) is included in the NXE package
and can be run from any Win32 or Unix computer with appropriate
network access to the NXE CGI.