Sunday, 17 March 2013

Integrating Nagvis to Nagios

Integrating Nagvis front-end to Nagios 

If you want to make your Nagios look really professional, want to customise the it to make it look absolutely customer presentable. Nagvis is the tool for you.

Installing NagVis Front End for Nagios. This tool will allow you creating a cool visual for your Nagios portal. You can create a nice diagram with Visio and use it to make your Nagios portal look more professionally presentable to customers.

If you have followed my previous post on how to Install Nagios (Centos 6) easy way, all you have to do is to follow the steps below, and you will have both (Nagios and Nagvis) working and nicely integrated.

There are few packages we must install first:

Dependencies:
* rsync
* graphviz
* php-mbstring
* php
* php-gd 
* php-pdo
* mk-livestatus-1.1.12.rhel6.x86_64.rpm

Installing required Packages

# yum install rsync graphviz php-mbstring php-gd php-pdo php -y 

Downloading mk-live
# cd /usr/local/
# mkdir downloads
# cd downloads
# wget http://www.thruk.org/files/pkg/v1.52/rhel6/x86_64/mk-livestatus-1.1.12.rhel6.x86_64.rpm
# rpm -Uvh mk-livestatus-1.1.12.rhel6.x86_64.rpm

or

Simply issue the command below:
# rpm -Uvh http://www.thruk.org/files/pkg/v1.52/rhel6/x86_64/mk-livestatus-1.1.12.rhel6.x86_64.rpm

Once the mk-live package has been installed, we need to move to configuring the it, by integrating it to the Nagios.
Note: If you followed my previous post about installing Nagios, your Nagios config files should be on /etc/nagios

Configure mk-live package
# cd /etc/nagios
# mkdir -p var/rw
# chown -R nagios: var/

Edit Nagios.cfg file
# vi /etc/nagios/nagios.cfg

Add the lines bellow to the nagios.cfg and save it
broker_module=-1
broker_module=/usr/lib64/mk-livestatus/livestatus.o /etc/nagios/var/rw/live

 Restart Nagios and Apache
# service nagios restart
# service httpd restart

Note: I would like to draw your attention to something very important.
A good systems Administrator always make sure he/she has a backup of any modified file.
Before you change configuration files, it is good practice to make a copy of the file you are about to change.

Downloading and Installing NagVis Package
# cd /usr/local/downloads
# wget http://sourceforge.net/projects/nagvis/files/NagVis%201.7/nagvis-1.7.2.tar.gz/download
# tar -zxvf nagvis-1.7.2.tar.gz
# cd nagvis-1.7.2
# ls 
Note: you should see various files including a README and a INSTALL.
The installation process is described in the INSTALL file, I suggest taking a look at it..

Once the package has been decompressed and expanded, we need to install it.

Installing Nagvis
# chmod 755 install.sh
# ./install.sh
The install.sh script will check various things within your system, including; path to Nagios, path to mk-live and all the required packages if they are installed.

Questions asked by install.sh script

1. Do you want to proceed? [y]: Y
   hit [ENTER]

2. Please enter the path to the nagios base directory [/usr/sbin/nagios]: /etc/nagios
   hit [ENTER]

3. Please enter the path to NagVis base [/usr/sbin/nagvis]: /etc/nagvis
   hit [ENTER]

4. Script will check for all required packages, see below:
|   PHP 5.3                                                              found |
|   PHP Module: gd php                                                   found |
|   PHP Module: mbstring php                                             found |
|   PHP Module: gettext compiled_in                                      found |
|   PHP Module: session compiled_in                                      found |
|   PHP Module: xml compiled_in                                          found |
|   PHP Module: pdo php                                                  found |
|   Apache mod_php                                                       found |

Note: If any package is presented as missing, kill the script and install the missing package.

5. Do you want to use backend mklivestatus? [y]:Y
   hit [ENTER]

6. Do you want to use backend ndo2db? [n]:n
   hit [ENTER]

7. Do you want to use backend ido2db? [n]:n
   hit [ENTER]

8. Do you want to use backend merlinmy? [n]:n
   hit [ENTER]

9. Livestatus Socket (/etc/nagios/var/rw/live)                             found |
|   PHP Module: sockets compiled_in                                        found |
|   Graphviz 2.26                                                          found |
|   Graphviz Module dot 2.26.0                                             found |
|   Graphviz Module neato 2.26.0                                           found |
|   Graphviz Module twopi 2.26.0                                           found |
|   Graphviz Module circo 2.26.0                                           found |
|   Graphviz Module fdp 2.26.0                                             found |
|   SQLite 3.6                                                             found |

Note: Make sure everything on the list above has been found.
Otherwise kill the script and install the missing packages.

10.  Please enter the web path to NagVis [/nagvis]:
     hit [ENTER]

11. Please enter the name of the web-server user [apache]:
     hit [ENTER]

    Please enter the name of the web-server group [apache]:
     hit [ENTER]

    create Apache config file [y]:
     hit [ENTER]

12. Do you want the installer to update your config files when possible? [y] y
    hit [ENTER]

13. Remove backup directory after successful installation? [n]: n
    hit [ENTER]

Note: At this time Nagvis will display a summary of all choices made by you, if everything looks OK as I describe above,

just accept it.
 14.  Do you really want to continue? [y]: y
     hit [ENTER]

Once the installation has been complete, restart Apache
# service httpd restart

Accessing Nagvis frontend
Open your bowser and point it to: http://192.168.1.23/nagvis

User Name: admin
Password: Admin

By this point you should see the default Nagvis frontend and there are various demo you can see.

It is pretty easy to install the localhost to be monitored.
I will create a how to with screenshots at later date.

Make sure NagVis has enabled the LIVE backend

# cd /etc/nagvis/etc
# vi nagvis.ini.php

Search for the line: 
; backend="live_1"

Remove the ';' (semi-colonm) and save the file
backend="live_1"

Save the file and restart Apache and Nagios

# service httpd restart
# service nagios restart

Now you should be able to add easily the localhost and any servers you might already have configured.


I hope you enjoy these How To I am creating. I am trying to make them as detailed as possible and not escape or miss steps.


Troubleshooting
# tail /var/log/message 
Note: any error message generated by Nagios will be logged to this file.

My next how to will be on how to make this useful and I will post my work online.
I intend to create a Visio diagram including all the racks at the Data Centre, with all servers positioned correctly and just save it as a Jpeg and use it as my NagVis MAP.

by Renato de Oliveira





No comments:

Post a Comment