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-.tar.gz cd nagios-business-process-addon- 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 3-D Status Map You insert the following lines: Business Process View Business Impact If using Icinga with the classic web GUI edit /usr/local/icinga/share/menu.html e. g. after this section You insert the following lines: 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