Install Nagios Plugins and NRPE agents on CentOS 7/RHEL 7/Fedora 29

|
Last Updated:
|
|

In this article, we are going to learn how to install Nagios Plugins and NRPE agents on CentOS 7/RHEL 7/Fedora 29 server using a package manager. You can install them from the source in case the server has no internet connections. This method however may results in the dependency issues.

In our previous tutorials, we learnt how to install Nagios plugins as well the Nagios NRPE agents from source. You can check them via the links below;

How to Install Nagios Plugins From Source RHEL/CentOS/Oracle Linux

How to Install Nagios NRPE Agent on RHEL/CentOS/Oracle Linux

Therefore to install Nagios Plugins and NRPE agents without facing any dependency related issue, using the package manager is a sure bet.

Installing Nagios Plugins and NRPE agents on CentOS/RHELFedora

Install EPEL repositories

Nagios plugins as well as NRPE agents are provided by EPEL repositories. Extra Packages for Enterprise Linux (EPEL) is a Fedora Special Interest Group that creates, maintains, and manages a high quality set of additional packages for Enterprise Linux, including, but not limited to, RHEL, CentOS and Scientific Linux (SL), Oracle Linux (OL).

For CentOS 7, you need to install EPEL repositories by running any of the command below;

yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

or

yum install epel-release -y

For Fedora 29, Nagios NRPE and Nagios plugins are available on the default repositories and thus no need for extra repos.

Installing NRPE on Fedora 29/CentOS 7

Now that you have the required repositories to install NRPE and Nagios plugins; run the commands below to install them. The commands apply to both CentOS 7 and Fedora 29.

yum install nrpe -y

You can verify the version of the installed NRPE as shown below;

nrpe -V

Install Nagios plugins on Fedora 29/CentOS 7

There exist over 50 Nagios plugins that enables you to monitor just about anything and everything with Nagios. Talk about databases, operating systems, applications, network equipment, protocols etc. To list available Nagios plugins, run the command below;

yum list nagios-plugins*

On CentOS 7/RHEL 7;

Installed Packages
nagios-plugins.x86_64                       2.2.1-9git5c7eb5b9.el7        @epel
Available Packages
nagios-plugins-all.x86_64                   2.2.1-9git5c7eb5b9.el7        epel 
nagios-plugins-apt.x86_64                   2.2.1-9git5c7eb5b9.el7        epel 
nagios-plugins-bacula.x86_64                5.2.13-23.1.el7               base 
nagios-plugins-bonding.x86_64               1.4-3.el7                     epel 
nagios-plugins-breeze.x86_64                2.2.1-9git5c7eb5b9.el7        epel 
nagios-plugins-by_ssh.x86_64                2.2.1-9git5c7eb5b9.el7        epel 
nagios-plugins-check-updates.x86_64         1.6.18-2.el7                  epel 
nagios-plugins-cluster.x86_64               2.2.1-9git5c7eb5b9.el7        epel 
nagios-plugins-dbi.x86_64                   2.2.1-9git5c7eb5b9.el7        epel 
nagios-plugins-dhcp.x86_64                  2.2.1-9git5c7eb5b9.el7        epel 
nagios-plugins-dig.x86_64                   2.2.1-9git5c7eb5b9.el7        epel 
nagios-plugins-disk.x86_64                  2.2.1-9git5c7eb5b9.el7        epel 
nagios-plugins-disk_smb.x86_64              2.2.1-9git5c7eb5b9.el7        epel 
...

On Fedora 29

Installed Packages
nagios-plugins.x86_64                 2.2.1-14.20180725git3429dad.fc29  @fedora
Available Packages
nagios-plugins-all.x86_64             2.2.1-14.20180725git3429dad.fc29  fedora 
nagios-plugins-apt.x86_64             2.2.1-14.20180725git3429dad.fc29  fedora 
nagios-plugins-bacula.x86_64          9.2.1-1.fc29                      fedora 
nagios-plugins-bdii.x86_64            1.0.15-11.fc29                    fedora 
nagios-plugins-bonding.x86_64         1.4-11.fc29                       fedora 
nagios-plugins-breeze.x86_64          2.2.1-14.20180725git3429dad.fc29  fedora 
nagios-plugins-by_ssh.x86_64          2.2.1-14.20180725git3429dad.fc29  fedora 
nagios-plugins-check-updates.x86_64   1.6.23-1.fc29                     fedora 
nagios-plugins-cluster.x86_64         2.2.1-14.20180725git3429dad.fc29  fedora 
nagios-plugins-dbi.x86_64             2.2.1-14.20180725git3429dad.fc29  fedora 
nagios-plugins-dhcp.x86_64            2.2.1-14.20180725git3429dad.fc29  fedora 
nagios-plugins-dig.x86_64             2.2.1-14.20180725git3429dad.fc29  fedora

To install specific Nagios plugins for example to check the load, http, users, processes, disk space, swap space, uptime, run the command below;

yum install nagios-plugins-{load,http,users,procs,disk,swap,nrpe,uptime} -y

Once the installation is done, tou can check your plugins under /usr/lib64/nagios/plugins/

ls /usr/lib64/nagios/plugins/
check_disk  check_load  check_procs  check_uptime  eventhandlers  urlize
check_http  check_nrpe  check_swap   check_users   negate         utils.sh

If you also need to monitor physical system memory, download the check_mem Nagios plugin following plugin to the plugins directory. Once you have downloaded, make it executable;

chmod +x /usr/lib64/nagios/plugins/check_mem

Configure NRPE Agent

The NRPE agent configuration file is located under /etc/nagios/nrpe.cfg. To configure NRPE agent to utilize the Nagios plugins, edit the file and make appropriate command substitutes for example;

vim /etc/nagios/nrpe.cfg
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

Once you are done with configurations, save and quit the file

Allow NRPE on Firewall

If firewall is running, allow NRPE through it;

firewall-cmd --add-service=nrpe --permanent
firewall-cmd --reload

Start and Enable NRPE to run on system boot

systemctl start nrpe
systemctl enable nrp

Verify the NRPE port is open and listening;

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

Verify that your Plugins are working as expected.

Check Running Processes

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

Check Load

/usr/lib64/nagios/plugins/check_nrpe -H 127.0.0.1 -c check_load
OK - load average: 0.04, 0.16, 0.08|load1=0.040;8.000;11.000;0; load5=0.160;7.500;10.000;0; load15=0.080;7.000;9.000;0;

Check Swap Memory

/usr/lib64/nagios/plugins/check_nrpe -H 127.0.0.1 -c check_swap
SWAP OK - 100% free (1023 MB out of 1023 MB) |swap=1023MB;0;0;0;1023

Check Logged in Users;

/usr/lib64/nagios/plugins/check_nrpe -H 127.0.0.1 -c check_users
USERS OK - 2 users currently logged in |users=2;5;10;0

Check Disk Space;

/usr/lib64/nagios/plugins/check_nrpe -H 127.0.0.1 -c check_disk
DISK OK - free space: / 6440 MB (78.74% inode=99%);| /=1737MB;6951;7360;0;8178

Check Memory;

/usr/lib64/nagios/plugins/check_nrpe -H 127.0.0.1 -c check_mem
DISK CRITICAL - free space: / 6438 MB (78.73% inode=99%); /boot 751 MB (82.64% inode=100%); /var/tmp 6438 MB (78.73% inode=99%);| /=1739MB;2044;817;0;8178 /boot=157MB;243;97;0;975 /var/tmp=1739MB;2044;817;0;8178

Hurray, you have successfully set up install and set up Nagios Plugins and NRPE agents on Fedora 29/RHEL 7/CentOS 7. Thank you for reading.

Related Tutorials:

Monitor Linux System Metrics with Prometheus Node Exporter

Monitor Squid logs with Grafana and Graylog

Monitor Squid Access Logs with Graylog Server

Monitor Linux Hosts using Nagios check_by_ssh Plugin

How to Install Nagios Plugins From Source RHEL/CentOS/Oracle Linux

Install and Setup TIG Stack on Fedora 30