Nagios Remote Plugin Executor

Page content

In this article I will show you how to add Remote Linux machine and it’s services to Nagios Monitoring host using NRPE agent.

What is NRPE

NRPE allows you to remotely execute Nagios plugins on other Linux/Unix machines.

Example image

NRPE Client

yum install nrpe nagios-plugins-all
# OR
apt-get install nagios-nrpe-server nagios-plugins

NRPE Client Config

nano /etc/nagios/nrpe.cfg
only_from = localhost <nagios_ip_address>
command[check_users]=/usr/lib64/nagios/plugins/check_users -w 5 -c 10
command[check_load]=/usr/lib64/nagios/plugins/check_load -r -w 8.0,7.5,7.0 -c 11.0,10.0,9.0
command[check_disk]=/usr/lib64/nagios/plugins/check_disk -w 15% -c 10% /
command[check_mem]=/usr/lib64/nagios/plugins/check_mem -w 75% -c 90%
command[check_total_procs]=/usr/lib64/nagios/plugins/check_procs -w 300 -c 400
command[check_swap]=/usr/lib64/nagios/plugins/check_swap -w 10 -c 5

NRPE Client Logging

nano /etc/nagios/nrpe.cfg

nano  /etc/rsyslog.conf
local1.*                                                /var/log/nrpe.log

Start NRPE Client

systemctl start nrpe
systemctl enable nrp

ss -altn | grep 5666
LISTEN   0         5            *       
LISTEN   0         5                      [::]:5666                [::]:*

/usr/lib64/nagios/plugins/check_nrpe -H -c check_total_procs
PROCS OK: 105 processes | procs=105;300;400;0;

NRPE Server

yum install nagios-plugins-nrpe
# createcustom commands for nrpe
nano /etc/nagios/commands.cfg
define command {
    command_name check_nrpe
    command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
nano /etc/nagios/conf.d/nrpe-test.cfg
        define host{
        use                    generic-host
        host_name              devopstales

define service{
        use                     generic-service
        host_name               tecmint
        service_description     CPU Load
        check_command           check_nrpe!check_load

Restart nagios

nagios -v /etc/nagios/nagios.cfg

Total Warnings: 0
Total Errors:   0

service nagios restart
comments powered by Disqus