0% found this document useful (0 votes)
800 views19 pages

How To Install Nagios Server Monitoring and NAgVis On Ubuntu

This document provides instructions for installing and configuring a Nagios monitoring server on Ubuntu 16.04. It describes installing prerequisites like LAMP stack, creating a nagios user, downloading and compiling Nagios core and plugins. It also covers configuring Apache, adding the first host to monitor, and testing the monitoring server. The overall steps are: 1. Install prerequisites like LAMP 2. Create nagios user and group 3. Download, compile and install Nagios core and plugins 4. Configure Nagios and Apache 5. Add first host and services to monitor 6. Test the monitoring installation
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
800 views19 pages

How To Install Nagios Server Monitoring and NAgVis On Ubuntu

This document provides instructions for installing and configuring a Nagios monitoring server on Ubuntu 16.04. It describes installing prerequisites like LAMP stack, creating a nagios user, downloading and compiling Nagios core and plugins. It also covers configuring Apache, adding the first host to monitor, and testing the monitoring server. The overall steps are: 1. Install prerequisites like LAMP 2. Create nagios user and group 3. Download, compile and install Nagios core and plugins 4. Configure Nagios and Apache 5. Add first host and services to monitor 6. Test the monitoring installation
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 19

How to Install Nagios Server

Monitoring on Ubuntu 16.04


Prerequisites
 2 Ubuntu 16.04 - 64bit servers

o 1 - Nagios Host with IP: 192.168.1.9


o 2 - Ubuntu Client with IP: 192.168.1.10

 Root/Sudo access

What we will do in this tutorial:

1. Software the package dependencies like - LAMP etc.


2. User and group configuration.
3. Installing Nagios.
4. Configuring Apache.
5. Testing the Nagios Server.
6. Adding a Host to Monitor.

Installing the prerequisites


Nagios requires the gcc compiler and build-essentials for the compilation, LAMP
(Apache, PHP, MySQL) for the Nagios web interface and Sendmail to send alerts
from the server. To install all those packages, run this command (it's just 1 line):

sudo apt-get install wget build-essential apache2 php apache2-mod-php7.0 php-gd


libgd-dev sendmail unzip

User and group configuration


For Nagios to run, you have to create a new user for Nagios. We will name the user
"nagios" and additionally create a group named "nagcmd". We add the new user to
the group as shown below:

useradd nagios
groupadd nagcmd
usermod -a -G nagcmd nagios
usermod -a -G nagios,nagcmd www-data
Installing Nagios
Step 1 - Download and extract the Nagios core

cd ~
wget https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.3.4.tar.gz
tar -xzf nagios*.tar.gz
cd nagios-4.2.0

Step 2 - Compile Nagios

Before you build Nagios, you will have to configure it with the user and the group
you have created earlier.

./configure --with-nagios-group=nagios --with-command-group=nagcmd

For more information please use: ./configure --help .

Now to install Nagios:

make all
sudo make install
sudo make install-commandmode
sudo make install-init
sudo make install-config
/usr/bin/install -c -m 644 sample-config/httpd.conf /etc/apache2/sites-
available/nagios.conf

And copy evenhandler directory to the nagios directory:

cp -R contrib/eventhandlers/ /usr/local/nagios/libexec/
chown -R nagios:nagios /usr/local/nagios/libexec/eventhandlers

Step 3 - Install the Nagios Plugins

Download and extract the Nagios plugins:


cd ~
wget https://nagios-plugins.org/download/nagios-plugins-2.2.1.tar.gz
tar -xzf nagios-plugins*.tar.gz
cd nagios-plugin-2.1.2/

Install the Nagios plugin's with the commands below:

./configure --with-nagios-user=nagios --with-nagios-group=nagios --with-openssl


make
make install

Step 4 - Configure Nagios

After the installation phase is complete, you can find the default configuration of
Nagios in /usr/local/nagios/.

We will configure Nagios and Nagios contact.

Edit default nagios configuration with vim:

vim /usr/local/nagios/etc/nagios.cfg

uncomment line 51 for the host monitor configuration.

cfg_dir=/usr/local/nagios/etc/servers

Save and exit.

Add a new folder named servers:

mkdir -p /usr/local/nagios/etc/servers

The Nagios contact can be configured in the contact.cfg file. To open it use:

vim /usr/local/nagios/etc/objects/contacts.cfg

Then replace the default email with your own email.

Configuring Apache
Step 1 - enable Apache modules

sudo a2enmod rewrite


sudo a2enmod cgi

You can use the htpasswd command to configure a user nagiosadmin for the nagios
web interface

sudo htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin

and type your password.

Step 2 - enable the Nagios virtualhost

sudo ln -s /etc/apache2/sites-available/nagios.conf /etc/apache2/sites-enabled/

Step 3 - Start Apache and Nagios

service apache2 restart


service nagios start {manually force using /usr/local/nagios/bin/nagios -d
/usr/local/nagios/etc/nagios.cfg}

When Nagios starts, you may see the following error :

Starting nagios (via systemctl): nagios.serviceFailed

And this is how to fix it:

cd /etc/init.d/
cp /etc/init.d/skeleton /etc/init.d/nagios

Now edit the Nagios file:

vim /etc/init.d/nagios

... and add the following code:

DESC="Nagios"
NAME=nagios
DAEMON=/usr/local/nagios/bin/$NAME
DAEMON_ARGS="-d /usr/local/nagios/etc/nagios.cfg"
PIDFILE=/usr/local/nagios/var/$NAME.lock

Make it executable and start Nagios:


chmod +x /etc/init.d/nagios
service apache2 restart
servuce nagios start

Testing the Nagios Server


Please open your browser and access the Nagios server ip, in my
case: http://192.168.1.9/nagios.

Nagios Login with apache htpasswd.

Nagios Admin Dashboard


Adding a Host to Monitor
In this tutorial, I will add an Ubuntu host to monitor to the Nagios server we have
made above.

Nagios Server IP : 192.168.1.9


Ubuntu Host IP : 192.168.1.10

Step 1 - Connect to ubuntu host

ssh [email protected]

Step 2 - Install NRPE Service

sudo apt-get install nagios-nrpe-server nagios-plugins

Step 3 - Configure NRPE

After the installation is complete, edit the nrpe file /etc/nagios/nrpe.cfg:

vim /etc/nagios/nrpe.cfg

... and add Nagios Server IP 192.168.1.9 to the server_address.

server_address=192.168.1.9

Step 4 - Restart NRPE

service nagios-nrpe-server restart

Step 5 - Add Ubuntu Host to Nagios Server

Please connect to the Nagios server:

ssh [email protected]
Then create a new file for the host configuration in /usr/local/nagios/etc/servers/.

vim /usr/local/nagios/etc/servers/ubuntu_host.cfg

Add the following lines:

# Ubuntu Host configuration file

define host {
use linux-server
host_name ubuntu_host
alias Ubuntu Host
address 192.168.1.10
register 1
}

define service {
host_name ubuntu_host
service_description PING
check_command check_ping!100.0,20%!500.0,60%
max_check_attempts 2
check_interval 2
retry_interval 2
check_period 24x7
check_freshness 1
contact_groups admins
notification_interval 2
notification_period 24x7
notifications_enabled 1
register 1
}

define service {
host_name ubuntu_host
service_description Check Users
check_command check_local_users!20!50
max_check_attempts 2
check_interval 2
retry_interval 2
check_period 24x7
check_freshness 1
contact_groups admins
notification_interval 2
notification_period 24x7
notifications_enabled 1
register 1
}

define service {
host_name ubuntu_host
service_description Local Disk
check_command check_local_disk!20%!10%!/
max_check_attempts 2
check_interval 2
retry_interval 2
check_period 24x7
check_freshness 1
contact_groups admins
notification_interval 2
notification_period 24x7
notifications_enabled 1
register 1
}

define service {
host_name ubuntu_host
service_description Check SSH
check_command check_ssh
max_check_attempts 2
check_interval 2
retry_interval 2
check_period 24x7
check_freshness 1
contact_groups admins
notification_interval 2
notification_period 24x7
notifications_enabled 1
register 1
}

define service {
host_name ubuntu_host
service_description Total Process
check_command check_local_procs!250!400!RSZDT
max_check_attempts 2
check_interval 2
retry_interval 2
check_period 24x7
check_freshness 1
contact_groups admins
notification_interval 2
notification_period 24x7
notifications_enabled 1
register 1
}

You can find many check_command in /usr/local/nagios/etc/objects/commands.cfg


file. See there if you want to add more services like DHCP, POP etc.

And now check the configuration:

/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

... to see if the configuration is correct.

Step 6 - Restart all services

On the Ubuntu Host start NRPE Service:

service nagios-nrpe-server restart

... and on the Nagios server, start Apache and Nagios:

service apache2 restart


service nagios restart

Step 7 - Testing the Ubuntu Host

Open the Nagios server from the browser and see the ubuntu_host being monitored.

The Ubuntu host is available on monitored host.


All services monitored without error.

Conclusion
Nagios is an open source application for monitoring a system. Nagios has been widely
used because of the ease of configuration. Nagios in support by various plugins, and
you can even create your own plugins. Look here for more information.

Install NagVis Add-on For Icinga


On Ubuntu
By
SK
-
August 13, 2013
1307

NagVis is a visualization addon for the well known network managment system
Nagios and Icinga. NagVis can be used to visualize Nagios Data, e.g. to display IT
processes like a mail system or a network infrastructure.
We already have shown you how to install icinga on ubuntu in our previous articles.
In this how-to let us learn how to install NagVis add-on that can be used to visualize
Icinga data details.

Install NagVis On Ubuntu

I assume that you have already installed and configured Icinga and its working well.

First of all, switch to root user, so that we don’t have to put ‘sudo’ in-front of every
command:

$ su

Install the following prerequisites:

# apt-get install g++ make libc6-dev php-net-socket php5-sqlite


sqlite3 graphviz

Download NagVis

Download the latest version of NagVis here or just the following command to
download:

# wget http://sourceforge.net/projects/nagvis/files/NagVis
%201.7/nagvis-1.7.9.tar.gz

Extract NagVis tarball with command:

# tar zxvf nagvis-1.7.9.tar.gz

The above command will extract nagvis tarball in your current directory. Change to
nagvis directory:

# cd nagvis-1.7.9

and install it with command:

# ./install.sh -p /usr/local/nagvis -b ido2db -u www-data -g www-data


-w /etc/apache2/conf.d/ -a y -F

Sample Output:

+--------------------------------------------------------------------
----------+
| Welcome to NagVis Installer
1.7.9                                 
           |
+--------------------------------------------------------------------
----------+
| This script is built to facilitate the NagVis installation and
update        |
| procedure for you. The installer has been tested on the following
systems:   |
| - Debian, since Etch
(4.0)                                 
                  |
| - Ubuntu, since Hardy
(8.04)                                
                 |
| - SuSE Linux Enterprise Server 10 and
11                                  
   |
|                                   
                                   
        |
| Similar distributions to the ones mentioned above should work as
well.       |
| That (hopefully) includes RedHat, Fedora, CentOS,
OpenSuSE                   |
|                                   
                                   
        |
| If you experience any problems using these or other distributions,
please    |
| report that to the NagVis
team.                                 
             |
+--------------------------------------------------------------------
----------+
| Do you want to proceed? [y]: <-------- Press Enter
+--------------------------------------------------------------------
----------+
| Starting installation of NagVis
1.7.9                                 
       |
+--------------------------------------------------------------------
----------+
| OS  : Ubuntu
12.10                                 
                          |
|                                   
                                   
        |
+--- Checking for tools
-------------------------------------------------------+
| Using packet manager
/usr/bin/dpkg                             
        found |
|                                   
                                   
        |
+--- Checking paths
-----------------------------------------------------------+
|                                   
                                   
        |
+--- Checking prerequisites
---------------------------------------------------+
|                                   
                                   
        |
+--- Checking for existing NagVis
---------------------------------------------+
|                                   
                                   
        |
+--------------------------------------------------------------------
----------+
|
Summary                                
                                   
   |
+--------------------------------------------------------------------
----------+
| NagVis home will be:          
/usr/local/nagvis                           
  |
| Owner of NagVis files will be: www-
data                                 
     |
| Group of NagVis files will be: www-
data                                 
     |
| Path to Apache config dir is: 
/etc/apache2/conf.d                          
|
| Apache config will be created:
yes                                  
         |
|                                   
                                   
        |
| Installation mode:            
install                                
       |
|                                   
                                   
        |
| Do you really want to continue? [y]: <------- Press Enter
+--------------------------------------------------------------------
----------+
| Starting
installation                             
                           |
+--------------------------------------------------------------------
----------+
| Creating directory
/usr/local/nagvis...                         
       done  |
| Creating directory
/usr/local/nagvis/var...                       
     done  |
| Creating directory
/usr/local/nagvis/var/tmpl/cache...                
done  |
| Creating directory
/usr/local/nagvis/var/tmpl/compile...              
done  |
| Creating directory
/usr/local/nagvis/share/var...                    
  done  |
| Copying files to
/usr/local/nagvis...                         
         done  |
| Creating directory
/usr/local/nagvis/etc/profiles...                  
done  |
| Creating main configuration
file...                                
    done  |
|   Adding webserver group to
file_group...                             
done  |
| Creating web configuration
file...                                
     done  |
| Setting permissions for web configuration
file...                      done  |
|                                   
                                   
        |
|                                   
                                   
        |
|                                   
                                   
        |
+--- Setting permissions...
---------------------------------------------------+
| /usr/local/nagvis/etc/nagvis.ini.php-
sample                            done  |
|
/usr/local/nagvis/etc                         
                         done  |
|
/usr/local/nagvis/etc/maps                      
                       done  |
|
/usr/local/nagvis/etc/maps/*                     
                      done  |
|
/usr/local/nagvis/etc/geomap                     
                      done  |
|
/usr/local/nagvis/etc/geomap/*                    
                     done  |
|
/usr/local/nagvis/etc/profiles                    
                     done  |
|
/usr/local/nagvis/share/userfiles/images/maps             
             done  |
|
/usr/local/nagvis/share/userfiles/images/maps/*            
            done  |
|
/usr/local/nagvis/share/userfiles/images/shapes            
            done  |
|
/usr/local/nagvis/share/userfiles/images/shapes/*           
           done  |
|
/usr/local/nagvis/var                         
                         done  |
|
/usr/local/nagvis/var/*                        
                        done  |
|
/usr/local/nagvis/var/tmpl                      
                       done  |
|
/usr/local/nagvis/var/tmpl/cache                   
                    done  |
|
/usr/local/nagvis/var/tmpl/compile                  
                   done  |
|
/usr/local/nagvis/share/var                      
                      done  |
|                                   
                                   
        |
+--------------------------------------------------------------------
----------+
| Installation
complete                               
                         |
|                                   
                                   
        |
| You can safely remove this source
directory.                              
   |
|                                   
                                   
        |
| For later update/upgrade you may use this command to have a faster
update:   |
| ./install.sh
|                                   
                                   
        |
| What to do
next?                                 
                            |
| - Read the
documentation                             
                        |
| - Maybe you want to edit the main configuration
file?                        |
|   Its location is:
/usr/local/nagvis/etc/nagvis.ini.php                 
     |
| - Configure NagVis via
browser                                
               |
|  
<http://localhost/nagvis/config.php>                 
                      |
| - Initial admin
credentials:                             
                    |
|     Username:
admin                                 
                         |
|     Password:
admin                                 
                         |
+--------------------------------------------------------------------
----------+

NagVis has been installed now. Note down the default admin crdentials of NagVis.

Configure NagVis With IDOUtils


Open the file /usr/local/nagvis/etc/nagvis.ini.php:

# nano /usr/local/nagvis/etc/nagvis.ini.php

Scroll down to ‘Path definitions’ section and uncomment the lines as shown below.

; Path definitions
[paths]
; absolute physical NagVis path
base="/usr/local/nagvis/"
; absolute html NagVis path
htmlbase="/nagvis"
; absolute html NagVis cgi path
htmlcgi="/nagios/cgi-bin"

Scroll down further, you may find the section called ‘Backend definitions’.
Comment out the mklivestatus line.

; ----------------------------
; Backend definitions
; ----------------------------

; Example definition of a livestatus backend.


; In this case the backend_id is live_1
; The path /usr/local/nagios/var/rw has to exist
[backend_live_1]
;backendtype="mklivestatus"

Finally set the backend to use Icinga IDOUtils in the configuration file.

[backend_ndomy_1]
; type of backend - MUST be set
backendtype="ndomy"
## Add the following lines ##
dbname="icinga"
dbuser="icinga"
dbpass="icinga"
dbprefix="icinga_"

Save and close the file. Restart apache service to take effect the saved changes.

# /etc/init.d/apache2 restart

Access NagVis Web Interface


Navigate to http://icinga-ip-address/nagvis from your browser. Enter the username
and password for NagVis. The NagVis default username and password are both
‘admin’.

Demo System Overview Screenshots

You might also like