Versions

[Nagios]------------[NRPE]
 Ubuntu          CentOS Server
                (to be monitored)
Ubuntu     16.04.5 LTS
Nagios     Core 3.5.1
CentOS     7.5.1804 (Core)
NRPE       3.2.1

Paths

Nagios Server

Path for config files:

ls /etc/nagios3/
nagios.cfg    commands.cfg

Path for Devices config files:

ls /etc/nagios3/conf.d/
client01.cfg   hostgroups.cfg   services.cfg

Path for Monitor Plugins

ls /usr/lib/nagios/plugins/
check_procs   check_http    check_load   check_users

Monitored Client

NRPE Config file:

ls /etc/nagios/
nrpe.cfg

Nagios Plugins:

/usr/lib64/nagios/plugins/
check_procs   check_disk   check_load  check_users

Installation

Update System:

sudo apt update -y
sudo apt upgrade -y

Install Dependencies:

sudo apt install php php-cgi libapache2-mod-php php-common php-pear php-mbstring apache2

Install Nagios3:

sudo apt install nagios3 nagios-plugins-basic nagios-nrpe-plugin

Edit Config:

sudo nano /etc/nagios3/nagios.cfg
check_external_commands=1

Adding a Host

sudo nano /etc/nagios3/conf.d/aman-client1.cfg
define host {
    use         generic-host        ; Inherit default values from a template
    host_name   PROD_aman-client1   ; The name we're giving to this host
    alias       XYZ_aman-client1    ; A longer name associated with the host
    address     10.10.30.81         ; IP address of the host
    #hostgroups  allhosts           ; Host groups this host is associated with
}
sudo service nagios3 restart

Monitoring python process

Checking output using cli

/usr/lib/nagios/plugins/check_procs -c 1: -C python3 -a watchdog.py

Add a Custom Command for monitoring local Python Script:

sudo nano /etc/nagios3/commands.cfg
#################
# Check_Python
#################

define command{
    command_name check_python
    command_line /usr/lib/nagios/plugins/check_procs -c 1: -C '$ARG1$' -a '$ARG2$'
}

Define a Service for monitoring local Python Script:

sudo nano /etc/nagios3/conf.d/aman-client1.cfg
## Check Watchdog Script

define service {
    use                 generic-service     ; Inherit default values from a template
    host_name           localhost
    service_description Watchdog Script
    check_command       check_python!python3!watchdog.py
}

Monitor HTTP Site

Checking output using cli

/usr/lib/nagios/plugins/check_http -H localhost -u /aviwiki/index.php/Main_Page

Adding a Service for the above monitor

sudo nano /etc/nagios3/conf.d/aman-client1.cfg
## Check Mediawiki Site

define service {
    use                 generic-service     ; Inherit default values from a template
    host_name           localhost
    service_description MediaWiki Server
    check_command       check_http!-H localhost!-u /aviwiki/index.php/Main_Page
}

NRPE

Installation on CentOS Client

Installation on Client:

         This section needs verification or testing!
yum install openssl nagios-nrpe-server nagios-plugins nagios-plugins-basic nagios-plugins-standard
yum install nrpe
yum install nagios-plugins
yum install nrpe nagios-plugins-users nagios-plugins-load nagios-plugins-swap nagios-plugins-disk nagios-plugins-procs 

Check Config File:

egrep -v '^#|^$' /etc/nagios/nrpe.cfg

Edit Config File:

sudo nano nrpe.cfg
dont_blame_nrpe=1                                      # Allow arguments
allowed_hosts=127.0.0.1, <ip_of_nagios_server>         # Permit nagios server to connect to this client
sudo systemctl restart nrpe

Verify Connection to NRPE from Nagios Server

check_nrpe -H 192.168.1.11
NRPE v2.15

Installation on Ubuntu Client

         This section is under construction.

Configuration

On client to be monitored

Test the monitor command:

/usr/lib64/nagios/plugins/check_procs -c 1: -C 'python3.6' -a 'watchdog.py' -p

Add the custom command:

sudo nano /etc/nagios/nrpe.cfg
command[check_watchdog]=/usr/lib64/nagios/plugins/check_procs -c 1: -C 'python3.6' -a 'watchdog.py' 
sudo systemctl restart nrpe


On Nagios Server

First test the above custom command:

/usr/lib/nagios/plugins/check_nrpe -H 10.10.30.81 -c check_watchdog

Add a Custom Monitor Command:

sudo nano /etc/nagios3/commands.cfg
###############################################################################
# NRPE CHECK COMMAND
#
# Command to use NRPE to check remote host systems
###############################################################################

define command{
        command_name check_nrpe_args
        command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
        }

Create a Service for the host:

sudo nano /etc/nagios3/conf.d/host01.cfg
## Check Watchdog Script

define service {
    use                 generic-service     ; Inherit default values from a template
    host_name           PROD_aman-client1
    service_description Watchdog Script
    check_command       check_nrpe_args!check_watchdog



References





{{#widget:DISQUS |id=networkm |uniqid=Nagios |url=https://aman.awiki.org/wiki/Nagios }}