Thursday, July 28, 2011

Quick Installation of Nagios in CentOS

Nagios is a system and network monitoring application. Installation process is as below:

Prerequisites:
Before installing Nagios, you need to install the following on your linux machine:
     Apache
     PHP
     GCC compiler
     GD development libraries
You can use yum to install these packages by running the command:
yum install httpd php
yum install gcc glibc glibc-common
yum install gd gd-devel

1) Create Account Information

Become the root user.
su -l

Create a new nagios user account and give it a password.
/usr/sbin/useradd -m nagios
passwd nagios 

Create a new nagcmd group for allowing external commands to be submitted through the web interface.
Add both the nagios user and the apache user to the group.
/usr/sbin/groupadd nagcmd
/usr/sbin/usermod -a -G nagcmd nagios
/usr/sbin/usermod -a -G nagcmd apache

2) Download Nagios and the Plugins

Create a directory for storing the downloads.
mkdir ~/downloads
cd ~/downloads

Download the source code tarballs of both Nagios and the Nagios plugins (visit   http://www.nagios.org/download/ for links to the latest versions). These directions were tested with
Nagios 3.1.1 and Nagios Plugins 1.4.11.

wget http://osdn.dl.sourceforge.net/sourceforge/nagios/nagios-3.2.0.tar.gz
wget http://osdn.dl.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.11.tar.gz

3) Compile and Install Nagios

Extract the Nagios source code tarball.
cd ~/downloads
tar xzf nagios-3.2.0.tar.gz

Run the Nagios configure script, passing the name of the group you created earlier like so:
./configure --with-command-group=nagcmd
Compile the Nagios source code.
make all
Install binaries, init script, sample config files and set permissions on the external command directory.
make install
make install-init
make install-config
make install-commandmode

Don’t start Nagios yet - there’s still more that needs to be done...

4) Customize Configuration

Sample configuration files have now been installed in the /usr/local/nagios/etc directory. These sample
files should work fine for getting started with Nagios. You’ll need to make just one change before you
proceed...
Edit the /usr/local/nagios/etc/objects/contacts.cfg config file with your favorite editor and change the email
address associated with the nagiosadmin contact definition to the address you’d like to use for receiving
alerts.
vi /usr/local/nagios/etc/objects/contacts.cfg

5) Configure the Web Interface

Install the Nagios web config file in the Apache conf.d directory.
Go to your nagios folder (if you followed the above instruction exactly, then the path is ~/downloads/nagios-3.2.0)
make install-webconf

Create a nagiosadmin account for logging into the Nagios web interface. Remember the password you
assign to this account - you’ll need it later.
htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin

Restart Apache to make the new settings take effect.
service httpd restart
cd nagios-3.2.0

6) Compile and Install the Nagios Plugins

Extract the Nagios plugins source code tarball.
cd ~/downloads
tar xzf nagios-plugins-1.4.11.tar.gz
cd nagios-plugins-1.4.11
Compile and install the plugins.
./configure --with-nagios-user=nagios --with-nagios-group=nagios
make
make install

7) Start Nagios

Add Nagios to the list of system services and have it automatically start when the system boots.
chkconfig --add nagios
chkconfig nagios on
Verify the sample Nagios configuration files.
346
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
If there are no errors, start Nagios.
service nagios start 

8) Modify SELinux Settings

CentOS has SElinux enabled in default, which can result in  "Internal Server Error" messages when you attempt to access the Nagios CGIs. So you need to disable SElinux. For this go to the 'System' menu of your linux server. Then select Administrator->Security Level and Firewall. Click the tab 'SELinux'. Now, make the SELinux Setting 'Disabled'.

9) Login to the Web Interface

You should now be able to access the Nagios web interface at the URL below. You’ll be prompted for the
username (nagiosadmin) and password you specified earlier.
http://localhost/nagios/
Click on the "Services" navbar link to see details of what’s being monitored on your local machine.
It will take a few minutes for Nagios to check all the services associated with your machine, as the
checks are spread out over time.

After you have successfully installed nagios server, you will now need to install nagios clients in the machine which you need to monitor. 
For monitoring windows machine, nagios client you need is nsclient
For monitoring linux machine, nagios client you need is nrpe.



No comments:

Post a Comment