Wednesday 20 November 2013

Nagios Installation And Configuration Step By Step For Linux

 Nagios Installation And Configuration Step By Step For Linux

1. Download the nagios and plugins

Download following files(Latest Vesion) from Nagios.org and move to /home/downloads

§  nagios-*.*.*.tar.gz

§  nagios-plugins-*.*.*.tar.gz

2. Take care of the prerequisites

§  Make sure apache is working on the server by verifying from browser: http://localhost

§  Verify whether gcc is installed

[root@localhost]#rpm -qa | grep gcc

gcc-3.4.6-8

compat-gcc-32-3.2.3-47.3

libgcc-3.4.6-8

compat-libgcc-296-2.96-132.7.2

compat-gcc-32-c++-3.2.3-47.3

gcc-c++-3.4.6-8

§  Verify whether GD is installed

[root@localhost]# rpm -qa gd

gd-2.0.28-5.4E

3. Create user and group for nagios

[root@localhost]# useradd nagios

[root@localhost]# passwd nagios

[root@localhost]# groupadd nagcmd

[root@localhost]# usermod -G nagcmd nagios

[root@localhost]# usermod -G nagcmd apache

4. Install nagios

[root@localhost]# tar xvf nagios-*.*.*.tar.gz

[root@localhost]# cd nagios-***

[root@localhost]# ./configure --with-command-group=nagcmd

[root@localhost]# make all

[root@localhost]# make install

[root@localhost]# make install-config

[root@localhost]# make install-commandmode

Following are some additional parameters that you can pass to ./configure to customize your installation. I used only --with-command-group as shown above.

--prefix  /opt/nagios Where to put the Nagios files

--with-cgiurl  /nagios/cgi-bin Web server url where the cgi's will beavailable

--with-htmurl  /nagios  Web server url where nagios will be available

--with-nagios-user nagios  user account under which Nagios will run

--with-nagios-group nagios  group account under which Nagios will run

--with-command-group nagcmd  group account which will allow the apache user to submit

     commands to Nagios

At the end of the configure output, it will display a summary as shown below:

*** Configuration summary for nagios *.*.* 05-28-2013 ***:

General Options:

-------------------------

Nagios executable:  nagios

Nagios user/group:  nagios,nagios

Command user/group:  nagios,nagcmd

Embedded Perl:  no

Event Broker:  yes

Install ${prefix}:  /usr/local/nagios

Lock file:  ${prefix}/var/nagios.lock

Check result directory:  ${prefix}/var/spool/checkresults

Init directory:  /etc/rc.d/init.d

Apache conf.d directory:  /etc/httpd/conf.d

Mail program:  /bin/mail

Host OS:  linux-gnu

Web Interface Options:

------------------------

HTML URL:  http://localhost/nagios/

CGI URL:  http://localhost/nagios/cgi-bin/

Traceroute (used by WAP):  /bin/traceroute

5. Configure the web interface.

[root@localhost]# make install-webconf

[root@localhost# htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin

New password:

Re-type new password:

Adding password for user nagiosadmin

6. Compile and install nagios plugins

[root@localhost]# tar xvf nagios-plugins-*.*.*.tar.gz

[root@localhost]# cd nagios-plugins-*.*.*

[root@localhost]# ./configure --with-nagios-user=nagios --with-nagios-group=nagios

[root@localhost]# make

[root@localhost]# make install

Note: On Red Hat, the ./configure command mentioned above did not work and was hanging at the when it was displaying the message: checking for redhat spopen problem… Add –enable-redhat-pthread-workaround to the ./configure command as a work-around for the above problem as shown below.

[root@localhost]# ./configure --with-nagios-user=nagios --with-nagios-group=nagios --enable-redhat-pthread-workaround

7. Start Nagios

§  Add the nagios to the startup routine:

[root@localhost]# chkconfig --add nagios

[root@localhost]# chkconfig nagios on

§  Verify to make sure there are no errors in the nagios configuration file:

[root@localhost]# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

Total Warnings: 0

Total Errors:   0

Things look okay - No serious problems were detected during the pre-flight check

§  Start the nagios

[root@localhost]# service nagios start

Starting nagios: done.

8. Login to web interface

Nagios Web URL: http://localhost/nagios/
Use the userid, password that was created from step#5 above.

III. Configuration files overview

.
The first configuration to modify is to change the default value of email address in /usr/local/nagios/etc/objects/contacts.cfg file to your email address.

Following are the three major configuration files located under /usr/local/nagios/etc


1.      nagios.cfg – This is the primary Nagios configuration file where lot of global parameters that controls the nagios can be defined.

2.      cgi.cfg - This files has configuration information for nagios web interface.

3.      resource.cfg – If you have to pass some sensitive information (username, password etc.) to a plugin to monitor a specific service, you can define them here. This file is readable only by nagios user and group.

Following are the other configuration files under /usr/local/nagios/etc/objects directory:


§  contacts.cfg: All the contacts who needs to be notified should be defined here. You can specify name, email address, what type of notifications they need to receive and what is the time period this particular contact should be receiving notifications etc.

§  commands.cfg – All the commands to check services are defined here. You can use $HOSTNAME$ and $HOSTADDRESS$ macro on the command execution that will substitute the corresponding hostname or host ip-address automatically.

§  timeperiods.cfg – Define the timeperiods. for e.g. if you want a service to be monitored only during the business hours, define a time period called businesshours and specify the hours that you would like to monitor.

§  templates.cfg – Multiple host or service definition that has similar characteristics can use a template, where all the common characteristics can be defined. Use template is a time saver.

§  localhost.cfg – Defines the monitoring for the local host. This is a sample configuration file that comes with nagios installation that you can use as a baseline to define other hosts that you would like to monitor.

§  printer.cfg – Sample config file for printer

§  switch.cfg – Sample config file for switch

§  windows.cfg – Sample config file for a windows machine

No comments:

Post a Comment