In the previous post Nagios 3.0 Jumpstart guide , I explained the overview, installation and configuration of Nagios 3.0 on Red Hat Server. In the following three chapters, I’ll explain how to monitor a remote Linux host and the various services running on the remote host. Also, please refer to all our Nagios articles.
I. Overview
II. 6 steps to install Nagios plugin and NRPE on remote host.
III. 4 Configuration steps on the Nagios monitoring server to monitor remote host:
.
Following three steps will happen on a very high level when Nagios (installed on the nagios-servers) monitors a service (for e.g. disk space usage) on the remote Linux host.
Following flow summarizes the above explanation:
Nagios Server (check_nrpe) —–> Remote host (NRPE deamon) —–> check_disk
Nagios Server (check_nrpe) <—– Remote host (NRPE deamon) <—– check_disk (returns disk space usage)
.
Download following files from Nagios.org and move to /home/downloads:
[remotehost]# useradd nagios [remotehost]# passwd nagios
[remotehost]# cd /home/downloads [remotehost]# tar xvfz nagios-plugins-1.4.11.tar.gz [remotehost]# cd nagios-plugins-1.4.11 [remotehost]# export LDFLAGS=-ldl [remotehost]# ./configure --with-nagios-user=nagios --with-nagios-group=nagios --enable-redhat-pthread-workaround [remotehost]# make [remotehost]# make install [remotehost]# chown nagios.nagios /usr/local/nagios [remotehost]# chown -R nagios.nagios /usr/local/nagios/libexec/
Note: On Red Hat, For me the ./configure command was hanging with the the message:“checking for redhat spopen problem…”. Add --enable-redhat-pthread-workaround to the ./configure command as a work-around for the above problem.
[remotehost]# cd /home/downloads [remotehost]# tar xvfz nrpe-2.12.tar.gz [remotehost]# cd nrpe-2.12 [remotehost]# ./configure [remotehost]# make all [remotehost]# make install-plugin [remotehost]# make install-daemon [remotehost]# make install-daemon-config [remotehost]# make install-xinetd
only_from = 127.0.0.1 192.168.1.2
nrpe 5666/tcp # NRPE
[remotehost]#service xinetd restart
[remotehost]# netstat -at | grep nrpe tcp 0 0 *:nrpe *:* LISTEN
[remotehost]# /usr/local/nagios/libexec/check_nrpe -H localhost NRPE v2.12
The nrpe.cfg file located on the remote host contains the commands that are needed to check the services on the remote host. By default the nrpe.cfg comes with few standard check commands as samples. check_users and check_load are shown below as an example.
command[check_users]=/usr/local/nagios/libexec/check_users -w 5 -c 10 command[check_load]=/usr/local/nagios/libexec/check_load -w 15,10,5 -c 30,25,20
In all the check commands, the “-w” stands for “Warning” and “-c” stands for “Critical”. for e.g. in the check_disk command below, if the available disk space gets to 20% of less, nagios will send warning message. If it gets to 10% or less, nagios will send critical message. Change the value of “-c” and “-w” parameter below depending on your environment.
command[check_disk]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/hda1
Note: You can execute any of the commands shown in the nrpe.cfg on the command line on remote host and see the results for yourself. For e.g. When I executed the check_disk command on the command line, it displayed the following:
[remotehost]#/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/hda1 DISK CRITICAL - free space: / 6420 MB (10% inode=98%);| /=55032MB;51792;58266;0;64741
In the above example, since the free disk space on /dev/hda1 is only 10% , it is displaying the CRITICAL message, which will be returned to nagios server.
.
Download nrpe-2.12.tar.gz from Nagios.org and move to /home/downloads:
[nagios-server]# tar xvfz nrpe-2.12.tar.gz [nagios-server]# cd nrpe-2.1.2 [nagios-server]# ./configure [nagios-server]# make all [nagios-server]# make install-plugin ./configure will give a configuration summary as shown below: *** Configuration summary for nrpe 2.12 05-31-2008 ***: General Options: ————————- NRPE port: 5666 NRPE user: nagios NRPE group: nagios Nagios user: nagios Nagios group: nagios
Note: I got the “checking for SSL headers… configure: error: Cannot find ssl headers” error message while performing ./configure. Install openssl-devel as shown below and run the ./configure again to fix the problem.
[nagios-server]# rpm -ivh openssl-devel-0.9.7a-43.16.i386.rpm krb5-devel-1.3.4-47.i386.rpm zlib-devel-1.2.1.2-1.2.i386.rpm e2fsprogs-devel-1.35-12.5. el4.i386.rpm warning: openssl-devel-0.9.7a-43.16.i386.rpm: V3 DSA signature: NOKEY, key ID db42a60e Preparing… ########################################### [100%] 1:e2fsprogs-devel ########################################### [ 25%] 2:krb5-devel ########################################### [ 50%] 3:zlib-devel ########################################### [ 75%] 4:openssl-devel ########################################### [100%]
Verify whether nagios monitoring server can talk to the remotehost.
[nagios-server]#/usr/local/nagios/libexec/check_nrpe -H 192.168.1.3 NRPE v2.12
Note: 192.168.1.3 in the ip-address of the remotehost where the NRPE and nagios plugin was installed as explained in Section II above.
Create a new configuration file /usr/local/nagios/etc/objects/remotehost.cfg to define the host and service definition for this particular remotehost. It is good to take the localhost.cfg and copy it as remotehost.cfg and start modifying it according to your needs.
host definition sample:
define host{ use linux-server host_name remotehost alias Remote Host address 192.168.1.3 contact_groups admins }
Service definition sample:
define service{ use generic-service service_description Root Partition contact_groups admins check_command check_nrpe!check_disk }
Note: In all the above examples, replace remotehost with the corresponding hostname of your remotehost.
Restart the nagios as shown below and login to the nagios web (http://nagios-server/nagios/) to verify the status of the remotehost linux sever that was added to nagios for monitoring.
[nagios-server]# service nagios reload