---------------------------------------------
1)tar xfvz nagios-1.0b5.tar.gz
2)cd nagios-1.0b5
3)mkdir /usr/local/nagios
4)chown nagios.nagios /usr/local/nagios
5)grep "^User" etc/httpd/conf/httpd.conf
6)/usr/sbin/groupadd nagcmd
7)/usr/sbin/usermod -G nagcmd apache
/usr/sbin/usermod -G nagcmd nagios
8)./configure --prefix=/usr/local/nagios
--with-cgiurl=/nagios/cgi-bin --with-htmurl=/nagios/ --with-nagios-user=nagios
--with-nagios-grp=nagios
9)make all
10)make install
11)make install-init (It creates the daemon script in rc.d)
12)make install-config (Creates the etc directory)
INSTALLATION OF PLUGGINS
-------------------------
1)tar xfvz nagios-pluggins-1.0b5.tar.gz
2)cd nagios-pluggins-1.0b5.tar.gz
3)./configure
--prefix=/usr/local/nagios --with-nagios-user=nagios --with-nagios-group=nagios
4)make all
5)make install
6)cd /usr/local/nagios/libexec/
There will be some files in this directory.
7)./check_ssh -h (To check ssh pluggin)
8)cd /usr/local/nagios/etc (All sample files are there remove the sample extension.)Make the necessary changes in the configuration files.
9)Now create the following cfg files
hosts.cfg
----------
# Host Definition
define host{
# Name of host template to use
use generic-host
host_name test-server1
alias subho
address 172.16.0.210
check_command check-host-alive
max_check_attempts 10
contact_groups nagios
notification_interval 120
notification_period 24x7
notification_options d,u,r
}
define host{
# Name of host template to use
use generic-host
host_name localhost.localdomain
alias sss
address 172.16.0.211
check_command check-host-alive
max_check_attempts 10
contact_groups nagios
notification_interval 120
notification_period 24x7
notification_options d,u,r
hostgroups.cfg(This file should not have the contact_groups directive)
----------------
define hostgroup{
hostgroup_name flcd-servers
alias The Free Linux CD Project Servers
members test-server1
contacts.cfg
---------------
define contact{
contact_name nagios
alias Oktay Altunergil
service_notification_period 24x7
host_notification_period 24x7
service_notification_options w,u,c,r
host_notification_options d,u,r
service_notification_commands notify-by-email
host_notification_commands host-notify-by-email
email oktay@localhost.localdomain
contactgroups.cfg
---------------------
define contactgroup{
contactgroup_name nagios
alias FreeLinuxCD.org Admins
members nagios
services.cfg
-------------------
# Service definition
define service{
# Name of service template to use
use generic-service
host_name test-server1
service_description HTTP
is_volatile 0
check_period 24x7
max_check_attempts 3
normal_check_interval 5
retry_check_interval 1
contact_groups nagios
notification_interval 120
notification_period 24x7
notification_options w,u,c,r
check_command check_http
}
# Service definition
define service{
# Name of service template to use
use generic-service
host_name test-server1
service_description PING
is_volatile 0
check_period 24x7
max_check_attempts 3
normal_check_interval 5
retry_check_interval 1
contact_groups nagios
notification_interval 120
notification_period 24x7
notification_options c,r
check_command check_ping!100.0,20%!500.0,60%
Added only two service for monitoring we can add many more.
10)../bin/nagios -v nagios.cfg (For checking the configuration)
11)Running Nagios Manually as a Daemon
/usr/local/nagios/bin/nagios -d
Note that you must specify the path/filename of the main configuration file (i.e.
/usr/local/nagios/etc/nagios.cfg) on the command line.
12)/etc/rc.d/init.d/nagios restart
13)chkconfig nagios on
To start the web interface
-------------------------------
1)Add the following lines in httpd.conf file
ScriptAlias /nagios/cgi-bin "/usr/local/nagios/sbin/"
Options ExecCGI
AllowOverride None
Order allow,deny
Allow from all
AuthName "Nagios Access"
AuthType Basic
AuthUserFile /usr/local/nagios/etc/htpasswd.users
Require valid-user
Alias /nagios "/usr/local/nagios/share/"
Options None
AllowOverride None
Order allow,deny
Allow from all
AuthName "Nagios Access"
AuthType Basic
AuthUserFile /usr/local/nagios/etc/htpasswd.users
Require valid-user
2)Issue the following commands
htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
To add more than one user
htpasswd /usr/local/nagios/etc/htpasswd.users
3)# service httpd restart
4)check from the browser
http://172.16.0.211/nagios/index.html
For the REMOTE HOSTS (tO BE INSTALLED ON THE REMOTE HOSTS)
-----------------------------------------------------------
1)Download the NRPE tar ball and unpack it
#tar xzf nrpe-2.8.tar.gz
#cd nrpe-2.8
2)Compile the NRPE addon.
#./configure
# make all
3)Install the NRPE plugin (for testing), daemon, and sample daemon config file.
#make install-plugin
#make install-daemon
#make install-daemon-config
4)Install the NRPE daemon as a service under xinetd.
#make install-xinetd
5)Edit the /etc/xinetd.d/nrpe file and add the IP address of the monitoring server to the only_from directive.
only_from = 127.0.0.1
6)Add the following entry for the NRPE daemon to the /etc/services file.
nrpe 5666/tcp # NRPE
7)Restart the xinetd service.
#service xinetd restart
8)Test the NRPE daemon locally
#netstat -at | grep nrpe
The output out this command should show something like this:
tcp 0 0 *:nrpe *:* LISTEN
9)/usr/local/nagios/libexec/check_nrpe -H localhost
You should get a string back that tells you what version of NRPE is installed, like this:
NRPE v2.8
NRPE PLUGGIN IN THE NAGIOS SERVER
--------------------------------------
1)Extract the NRPE source code tarball.
# tar xzf nrpe-2.8.tar.gz
# cd nrpe-2.8
2)Compile the NRPE addon.
#./configure
# make all
3)Install the NRPE plugin.
# make install-plugin
4) Test communication with the NRPE daemon
Make sure the check_nrpe plugin can talk to the NRPE daemon on the remote host.
#/usr/local/nagios/libexec/check_nrpe -H
You should get a string back that tells you what version of NRPE is installed on the remote host, like this:
NRPE v2.8