nagios-business-process-addon/INSTALL

223 lines
10 KiB
Plaintext

Nagios Business Process View and Nagios Business Impact Analysis
----------------------------------------------------------------
This document decribes, how to install.
If You are new to these AddOns make sure You read README before.
Requirements
------------
1. You must have Nagios (http://www.nagios.org) or Icinga
(http://www.icinga.org) installed and running.
2. You need to have one of the following possibilities to give
this software access to the actual status information Nagios or Icinga
provides
2.1 NDOUTILS
(The NDOUTILS - Nagios Data Output Utils - addon allows you to move
status and event information from Nagios to a database for later
retrieval and processing.)
see: http://www.nagios.org/download/addons/
2.2 IDOUTILS
(same for Icinga)
see: http://docs.icinga.org/latest/en/quickstart-idoutils.html
2.3 As an alternative, You may use Merlin. Merlin also requires a separate
daemon to run, also requires a MySQL database, but some people like it
more then NDOUTILS, because Merlins table structure ist simpler.
see: http://www.op5.org/community/projects/merlin
2.4 If You don't like the overhead of a database, You alternatively can
use ndo2fs which writes the same information into the file system.
(But keep in mind: ndo2fs uses NDOUTILS as well, You don't save the
installation of NDOUTILS, but only the overhead of running a database.)
see: http://www.pnp4nagios.org/ndo2fs/start
2.5 mk_livestatus
This backend is very simple. It does not need NDOUTILS, no
database and also no other separate storage in filesystem or where
ever, because it directly gets information from Nagios' or Icingas
internal memory structure.
You need at least version 1.1.2 of mk_livestatus.
see: http://mathias-kettner.de/checkmk_livestatus.html
2.6 Icinga-API
If You have the new Icinga Web Interface
(http://docs.icinga.org/latest/en/icinga-web-scratch.html) up and
running, there is the possibility to get status information from the
Icinga-API by HTTP/JSON.
You need at least Icinga-Web 1.0.3
But keep in mind: There are an additional HTTP connection and
additional PHP scripts in between. This way is much slower than
all the others!!
3. You need a WebServer installed, we describe configuration for Apache.
4. Perl > 5.8 is needed.
5. The Perl-Modul CGI::Simple must be installed
If You are not sure, type
perl -e "use CGI::Simple" && echo ok
this prints out "ok" if the module is installed and included in the
default INC path and an error otherwise.
Maybe Your linux distribution provides this as a package called
libcgi-simple-perl or so.
6. The Perl-Modul DBI must be installed
If You are not sure, type
perl -e "use DBI" && echo ok
7. The Perl-Modul JSON::XS must be installed
If You are not sure, type
perl -e "use JSON::XS" && echo ok
Maybe Your linux distribution provides this as a package called
libjson-perl or so.
8. The Perl-Modul LWP::UserAgent must be installed
If You are not sure, type
perl -e "use LWP::UserAgent" && echo ok
Maybe Your linux distribution provides this as a package called
perl-libwww-perl or so.
Install
-------
Be root.
Extract the download file
tar xvzf nagios-business-process-addon-<VERSION>.tar.gz
cd nagios-business-process-addon-<VERSION>
if using Nagios: For installation in the default path (/usr/local/nagiosbp/)
type
./configure
if using Icinga: For installation in the default path (/usr/local/nagiosbp/)
type
./configure --with-nagcgiurl=/icinga/cgi-bin --with-naghtmurl=/icinga --with-nagetc=/usr/local/icinga/etc/ --with-apache-authname="Icinga Access"
If You want to install somewhere else or if Your nagios or icinga is not
installed in the default path (/usr/local/nagios/ or /usr/local/icinga),
you can call configure with different parameters, see
./configure --help
for details.
At the end, all important parameters are listed. If they are ok, type
make install
to install Nagios Business Process AddOns.
Apache needs to know about the new files. Therefore a file nagiosbp.conf
has been put into Your Apache's conf.d directory.
The default is, that the given configuration is included in all of
Apache's virtual hosts. If this is not what you want, You can copy the
content of nagiosbp.conf into the according VirtualHost section of Your
httpd.conf and delete nagiosbp.conf afterwards.
Another possibility is, to install the file in some other path, by calling
configure e. g. with
./configure --with-httpd-conf=/usr/local/nagiosbp/etc/apache-conf.d/
and afterwards add an include statement into Apache's section for the
according VirtualHost:
Include /usr/local/nagiosbp/etc/apache-conf.d/nagiosbp.conf
Concerning the AuthName directives (there are two) in this file:
make sure they are exactly the same as in Nagios' or Icingas Apache
config file (conf.d/nagios.conf or conf.d/icinga.conf)
Otherwise in the web GUI you are prompte twice for Your username and
password. Once when accessing a page of Nagios or Icinga and once when
accessing a page of the Business Process AddOns.
You can give the correct AuthName when calling configure by giving the
additional parameter --with-apache-authname or by editing the file
conf.d/nagiosbp.conf afterwards.
If You are done with Your Apache configuration, by typing
apachectl configtest
You can check Your configuration. If it reports no error, reload Your
Apache.
For Nagios Business Impact Analysis, a cron job has been created for You,
that throws away old session files. It is normally located in /etc/cron.d
In Nagios or Icinga You need some links so that You can use the 2 AddOns
If using Nagios edit /usr/local/nagios/share/side.html
e. g. after this section
<tr>
<td width=13><img src="images/greendot.gif" width="13" height="14" name="statuswrl-dot"></td>
<td nowrap><a href="/nagios/cgi-bin/statuswrl.cgi?host=all" target="main" onMouseOver="switchdot('statuswrl-dot',1)" onMouseOut="switchdot('statuswrl-dot',0)" class="NavBarItem">3-D Status Map</a></td>
</tr>
You insert the following lines:
<tr>
<td width=13><img src="images/greendot.gif" width="13" height="14" name="statuswrl-dot"></td>
<td nowrap><a href="/nagiosbp/cgi-bin/nagios-bp.cgi" target="main" onMouseOver="switchdot('statuswrl-dot',1)" onMouseOut="switchdot('statuswrl-dot',0)" class="NavBarItem">Business Process View</a></td>
</tr>
<tr>
<td width=13><img src="images/greendot.gif" width="13" height="14" name="statuswrl-dot"></td>
<td nowrap><a href="/nagiosbp/cgi-bin/nagios-bp.cgi?mode=bi" target="main" onMouseOver="switchdot('statuswrl-dot',1)" onMouseOut="switchdot('statuswrl-dot',0)" class="NavBarItem">Business Impact</a></td>
</tr>
If using Icinga with the classic web GUI edit
/usr/local/icinga/share/menu.html
e. g. after this section
<li class="menuli_style1"><a href="/icinga/cgi-bin/extinfo.cgi?&type=7" target="main">Scheduling Queue</a></li>
You insert the following lines:
<li class="menuli_style2"><a href="/nagiosbp/cgi-bin/nagios-bp.cgi" target="main">Business Process View</a></li>
<li class="menuli_style1"><a href="/nagiosbp/cgi-bin/nagios-bp.cgi?mode=bi" target="main">Business Impact</a></li>
As Nagios Business Process AddOns use the stylesheets of Nagios or Icinga
the web GUI has the look and feel of Nagios when installed with Nagios
and the look and feel of Icinga when installed with Icinga.
In very little details they differ. So when using Icinga with the classic
web GUI You might want to insert the following line
#nbp_foot_version, #nbp_foot_language, .nbp_text_small, .nbp_text_tiny { font-size:100%; }
into share/stylesheets/user.css
Otherwise some elements on the web GUI would look very tiny.
If using Icinga with the new Icinga-Web you need to add the additional
cronks there. You find a download link for the Business Process Icinga
Cronk at
http://nagiosbp.projects.nagiosforge.org/download.shtml
Please see the documention there to include them into Your installation.
Now it's time to set up some config files.
If You are running with a database (NDO database, IDO database or merlin
database) create a user on Your database.
The user needs only select privileges.
If You are running NDO with ndo2fs, You have to make sure, the user Your
webserver is running under has read access to the output files of ndo2fs.
You might therefor want to append something like
-o UMASK=002
to the line
ndo2fsParam
in the init-Script of ndo2fs (normally found under /etc/init.d/ndo2fs)
If You are running with mk_livestatus, You have to make sure, the user Your
webserver is running under has read access to the unix socket which has
been created by mk_livestatus (by default: /usr/local/nagios/var/rw/live)
When using the Icinga-API as backend, please note:
The cooperation of Icinga-API and Nagios Business Process AddOns is not
yet in use in a large number of setups in production. Also this one is the
backend with the most overhead (an additional layer of HTTP and additional
PHP scripts are used to get data). Therefor the performance is not as good
as with the other backends.
So if You have a big setup or a need for well tested software, You might want
to use it with a NDO database, IDO database or mk_livestatus.
Now move etc/ndo.cfg-sample to etc/ndo.cfg and edit it
change all the parameters there according to Your setup and
- if using a database backend - the user You just created
all parameters have comments there.
If You did install all components with their default path
and settings, You probably will not have to change a lot.
Now You have finished the installation. Go ahead by configuring Your
Business Processes as described in README
Especially do not miss nagios-bp-check-ndo-connection.pl