In our earlier tutorials, we installed & configured Nagios Monitoring server & also added Windows host to Nagios Server using NSClient++. In this tutorial, we will learn how to add a Linux host to the Nagios monitoring server.
NRPE aka Nagios Remote Plugin Executor, allows us to monitor the local resources of a Linux host on the Nagios monitoring server. It needs to be installed on both the Linux host & on the Nagios server. So let's start with configuring the Linux host first.
(Recommended Read: Easy guide to setup Nagios monitoring using SSH (check_by_ssh))
Add Linux host to Nagios monitoring server
Configuring Linux Host
Before we begin installtion, we will first install the Nagios plugin on the host
-
Installing required packages
Install the following packages to resolve all dependencies required for installing the plugins ,
$ yum install -y gcc glibc glibc-common gd gd-devel make net-snmp openssl-devel
-
Download the Nagios Plugins
Next, we will download the Nagios plugins from the following url
$ wget https://nagios-plugins.org/download/nagios-plugins-2.1.4.tar.gz
-
Installing & Configuring the plugin
Before installing the Nagios plugin, we need to add a user "nagios"
$ useradd nagios
$ passwd nagios
after creating a user, go to the folder with plugins. We will now extract the plugins
$ tar -xvf nagios-plugins-2.1.4.tar.gz
$ cd nagios-plugins-2.1.4
And now we will compile & install the plugins
$ ./configure --with-nagios-user=nagios
$ make
$ make install
-
Changing the ownership of plugin folder
After the plugins are installed, we will change the ownership of the plugins folders
$ chown nagios.nagios /usr/local/nagios
$ chown -R nagios.nagios /usr/local/nagios/libexec
-
Downloading & installing NRPE
Now its time we download the plugin, use the link below
$ wget https://sourceforge.net/projects/nagios/files/nrpe-3.x/nrpe-3.2.1/nrpe-3.2.1.tar.gz/download
then, extract the plugin
$ tar –xvf nrpe-3.0.1.tar.gz
$ cd nrpe-3.0.1
next, we compile & install it
$ ./configure
$ make all
$ make install-plugin
$ make install-daemon # Install plugin daemon #
$ make install-daemon-config # Install plugin daemon sample config file #
$ make install-xinetd # Install plugin daemon as a service under xinetd #
-
Making changes to Config file
Now open the config file and add the localhost and IP address of the Nagios Monitoring Server.
$ vi /etc/xinet.d/nrpe
only_from = 127.0.0.1 localhost 192.168.1.100
& in /etc/services file , add following line & save it
$ vi /etc/services
nrpe 5666/tcp NRPE
finally, start xinetd,
$ service xinted restart
Note:- xinted is installed on most of the Linux distributions by default, but if that is not the case you install it using
yum install xinetd.
-
Verifying connectivity from Nagios to host
Now that the plugin has been installed, we will verify connectivity of host from nagios server by following on Nagios server
$ /usr/local/nagios/libexec/check_nrpe -H 192.168.1.115
where 192.168.1.115 is the IP address of the Linux host that is to be monitored.
Note:- NRPE config file (/usr/local/nagios/etc/nrpe.cfg) has some of the commands already written on it, you can modify them as per your needs & can test them by directly running these on the terminal.
Next, we move on to Nagios & configure it to receive updates from the Linux host.
Nagios Server configuration
-
Download & install NRPE
First, we download & install remote plugin on Nagios server , as we did on Linux host
$ tar -xzvf nrpe-3.0.1.tar.gz
$ cd nrpe-3.0.1
$ ./configure
$ make all
$ make install-daemon
-
Adding remote Linux host
Create two files named linux_hosts.cfg & linux_services.cfg in folder “/usr/local/nagios/etc/”
$ cd /usr/local/nagios/etc/
$ touch linux_hosts.cfg
$ touch linux_services.cfg
then we will edit nagios.cfg & add the following two files in it
$ vi /usr/local/nagios/etc/nagios.cfg
cfg_file=/usr/local/nagios/etc/linux_hosts.cfg
cfg_file=/usr/local/nagios/etc/linux_services.cfg
Now, we will copy the default templates for hosts & services, present in /usr/local/nagios/etc/objects/ to these files & will edit them as per our need
Firstly , open linux_hosts.cfg & edit it (see screenshot)
$ cd /usr/local/nagios/etc/linux_hosts.cfg
then we will add services in linux_services.cfg (see screenshot)
$ cd /usr/local/nagios/etc/linux_services.cfg
& lastly, we will add NRPE command definition to /usr/local/nagios/etc/objects/commands.cfg
$ vi /usr/local/nagios/etc/objects/commands.cfg
& add the following command definition
###############################################################################
# NRPE CHECK COMMAND
#
# Command to use NRPE to check remote host systems
###############################################################################
define command{
command_name check_nrpe
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}
-
Verifying Nagios configuration file
$ /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
If there are any errors, resolve them & then restart the nagios server for changes to take effect.
$ service nagios restart
-
Open web-console
Open your web-console, by typing your Nagios IP address or FQDN in your browser & enter credentials for Nagios. Once inside the web-console, goto services page & you should see that services for your Linux hosts have added here for monitoring.
So, this was our tutorial on how to add Linux host to the Nagios monitoring server. If you have any queries or comments, please mention them in the comment box down below.
if i want to add more than one server then what steps i need to follow, please help
same steps, copy already created config file on nagios server & rename it, change the server details (IP, name etc).
Check the configs & restart the nagios server.