HostOnNet Blog

How to Monitor a Host with Nagios

Looking for Linux Server Admin or WordPress Expert? We can help.

In our previous post we have successfully installed and configured Nagios core in our Ubuntu server.

Now, let us add some clients to monitor by Nagios server.

To do that we have to install nrpe and nagios-plugins in our monitoring targets.


Add EPEL repository in your CentOS/RHEL 6.x or 7 clients to install nrpe package.

To install EPEL on CentOS 7, run the following command:

yum install epel-release

Adding EPEL Repository to RHEL / CentOS / Scientific Linux 6.x

rpm -Uvh epel-release-6-8.noarch.rpm

Adding EPEL Repository to RHEL / CentOS / Scientific Linux 5.x

rpm -Uvh epel-release-5-4.noarch.rpm

On Debian/Ubuntu clients:

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

Configure Monitoring targets

Edit /etc/nagios/nrpe.cfg file

vi /etc/nagios/nrpe.cfg

Find the allowed_hosts directive, and add the private IP address of your Nagios server to the comma-delimited list.


Save and exit. This configures NRPE to accept requests from your Nagios server,

Start nrpe service on CentOS clients:

systemctl start nrpe
chkconfig nrpe on

CentOS 6.x:

service nrpe start
chkconfig nrpe on

For Debian/Ubuntu Clients, start nrpe service as shown below:

/etc/init.d/nagios-nrpe-server restart

Go back to your Nagios server, and add the clients in the configuration file.

vi /usr/local/nagios/etc/nagios.cfg

uncomment the following line


Create a directory called “servers” under “/usr/local/nagios/etc/”.

mkdir /usr/local/nagios/etc/servers

Create config file to the monitoring target (client):

vi /usr/local/nagios/etc/servers/server1.cfg

Add the following lines:

define host {
        use                             linux-server
        alias                           Server 1
        max_check_attempts              5
        check_period                    24x7
        notification_interval           30
        notification_period             24x7

Here, is my nagios client IP address and is the client system’s hostname.

Finally, restart nagios service.

/etc/init.d/nagios restart
service nagios restart

Wait for few seconds, and refresh nagios admin console in the browser and navigate to “Hosts” section in the left pane. Now, You will see the newly added client will be visible there. Click on the host to see if there is anything wrong or any alerts it has.

Similarly, you can define more clients by creating a separate config files in

“/usr/local/nagios/etc/servers” directory for each client.

Define Services

We have just defined the monitoring host. Now, let us add some services of the monitoring host.

For example, to monitor the ssh service, edit the client configuration file.

vi /usr/local/nagios/etc/servers/server1.cfg

add the following lines for SSH service.

define service {
        use                             generic-service
        host_name                       yourhost
        service_description             SSH
        check_command                   check_ssh
        notifications_enabled           0


define service {
        use                             generic-service
        host_name                       yourhost
        service_description             PING
        check_command                   check_ping!100.0,20%!500.0,60%

Wait for few seconds (90 seconds by default), and check for the added services (i.e SSH and PING) in the nagios web interface. Navigate to Services section on the left side bar, you’ll see the services there.

Posted in Linux

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.