Add
Linux host to your Nagios Server
First
of all you need to install and conigure Nagios server. If not please
install a server. You can follow this post to know how to install and
configure a Nagios server.
http://linux-library.blogspot.in/2014/05/nagios-server.html
Once
you’ve installed, you can proceed further to install NRPE agent on
your Remote Linux host. Before heading further, let us give you a
short description about NRPE.
What is NRPE?
The
NRPE (Nagios Remote Plugin Executor) plugin allows you to monitor any
remote Linux/Unix services or network devices. This NRPE add-on
allows Nagios to monitor any local resources like CPU load, Swap,
Memory usage, Online users, etc. on remote Linux machines. After all,
these local resources are not mostly exposed to external machines, an
NRPE agent must be installed and configured on the remote machines.
Note:
The NRPE addon requires that Nagios Plugins must be installed on the
remote Linux machine. Without these, the NRPE daemon will not work
and will not monitor anything.
Installation of NRPE Plugin
To use
the NRPE, you will need to do some additional tasks on both the
Nagios Monitoring Host and Remote Linux Host that the NRPE installed
on. We will be covering both the installation parts separately.
We
assume that you are installing the NRPE on a host that supports TCP
wrappers and Xinted daemon installed on it. Today, most of the modern
Linux distributions have these two installed by default. If not, we
will install it later during the installation when required.
On Remote Linux Host
Please
use the below instructions to install Nagios Plugins and NRPE daemon
on the Remote Linux Host.
Step 1: Install Required Dependencies
We
need to install required libraries like gcc, glibc, glibc-common and
GD and its development libraries before installing.
# yum install -y gcc glibc glibc-common gd gd-devel make net-snmp openssl-devel
Step 2: Create Nagios User
Create a new nagios user account and set a password.# useradd nagios # passwd nagios
Step 3: Install the Nagios Plugins
Create a directory for installation and all its future downloads.# cd /root/nagios
Now download latest
Nagios Plugins 1.5 package here.https://www.nagios-plugins.org/download/nagios-plugins-1.5.tar.gz
Step 4: Extract Nagios Plugins
Run the following tar command to extract the source code tarball.# tar –xvf nagios-plugins-1.5.tar.gz
Step 5: Compile and Install Nagios Plugins
Next, compile and install using following commands# cd nagios-plugins-1.5 # ./configure # make # make installSet the permissions on the plugin directory.
# chown nagios.nagios /usr/local/nagios # chown -R nagios.nagios /usr/local/nagios/libexec
Step 6: Install Xinetd
Most of the systems, its by default installed. If not, install xinetd package using following yum command.# yum install xinetd
Step 7: Install NRPE Plugin
Download latest NRPE Plugin 2.15 packages here.http://sourceforge.net/projects/nagios/files/nrpe-2.x/nrpe-2.15/nrpe-2.15.tar.gz/download
Copy the downloaded NRPE plugins to the below directory.
# cd /root/nagios
Unpack the NRPE source
code tarball.# tar xzf nrpe-2.15.tar.gz # cd nrpe-2.15
Compile and install the
NRPE addon.
# ./configure # make allNext, install the NRPE plugin daemon, and sample daemon config file.
# make install-plugin # make install-daemon # make install-daemon-configInstall the NRPE daemon under xinetd as a service.
# make install-xinetd
Now open
/etc/xinetd.d/nrpe file and add the localhost and IP address of the
Nagios Monitoring Server.only_from = 127.0.0.1 localhost <nagios_ip_address>
Next, open
/etc/services file add the following entry for the NRPE daemon at the
bottom of the file.
nrpe 5666/tcp NRPE
Restart the xinetd
service.# service xinetd restart
Step 8: Verify NRPE Daemon Locally
Run the following command to verify the NRPE daemon working correctly under xinetd.# netstat -at | grep nrpe tcp 0 0 *:nrpe *:* LISTEN
If you get output
similar to above, means it working correctly. If not, make sure to
check the following things.
- Check you’ve added nrpe entry correctly in /etc/services file
- The only_from contains an entry for “nagios_ip_address” in the /etc/xinetd.d/nrpe file.
- The xinetd is installed and started.
- Check for the errors in the system log files for about xinetd or nrpe and fix those problems.
Next,
verify the NRPE daemon is functioning properly. Run the “check_nrpe”
command that was installed earlier for testing purposes.
# /usr/local/nagios/libexec/check_nrpe -H localhost
You will get a
following string on the screen, it shows you what version of NRPE is
installed:NRPE v2.15
Step 9: Configure Firewall Rules
Make sure that the Firewall on the local machine will allow the NRPE daemon to be accessed from remote servers. To do this, run the following iptables command.# iptables -A INPUT -p tcp -m tcp --dport 5666 -j ACCEPT
Run the following
command to Save the new iptables rule so it will survive at system
reboots.# service iptables save
Step 10: Customize NRPE commands
The default NRPE configuration file that got installed has several command definitions that will be used to monitor this machine. The sample configuration file located at.# vi /usr/local/nagios/etc/nrpe.cfg
The following are the
default command definitions that are located at the bottom of the
configuration file. For the time being, we assume you are using these
commands. You can check them by using the following commands.# /usr/local/nagios/libexec/check_nrpe -H localhost -c check_users USERS OK - 1 users currently logged in |users=1;5;10;0 # /usr/local/nagios/libexec/check_nrpe -H localhost -c check_load # /usr/local/nagios/libexec/check_nrpe -H localhost -c check_hda1 # /usr/local/nagios/libexec/check_nrpe -H localhost -c check_total_procs # /usr/local/nagios/libexec/check_nrpe -H localhost -c check_zombie_procsYou can edit and add new command definitions by editing the NRPE config file. Finally, you’ve successfully installed and configured NRPE agent on the Remote Linux Host. Now it’s time to install a NRPE component and add some services on your Nagios Monitoring Server…
On Nagios Monitoring Server
Now login into your Nagios Monitoring Server.Step 1: Install NRPE Plugin
Go to the nagios download directory and download latest NRPE Plugin# cd /root/nagios
Unpack the NRPE source
code tarball.# tar xzf nrpe-2.15.tar.gz # cd nrpe-2.15Compile and install the NRPE addon.
# ./configure # make all # make install-daemon
Step 2: Verify NRPE Daemon Remotely
Make sure that the check_nrpe plugin can communicate with the NRPE daemon on the remote Linux host. Add the IP address in the command below with the IP address of your Remote Linux host.# /usr/local/nagios/libexec/check_nrpe -H <remote_linux_ip_address>
You will get a string
back that shows you what version of NRPE is installed on the remote
host, like this:NRPE v2.15
If your receive a
plugin time-out error, then check the following things.- Make sure your
firewall isn’t blocking the communication between the remote host
and the monitoring host.
- Make sure that
the NRPE daemon is installed correctly under xinetd.
- Make sure that
the remote Linux host firewall rules blocking the monitoring server
from communicating to the NRPE daemon.
Adding Remote Linux Host to Nagios Monitoring Server
To add a remote host you need to create a two new files “hosts.cfg” and “services.cfg” under “/usr/local/nagios/etc/” location.# cd /usr/local/nagios/etc/ # touch hosts.cfg # touch services.cfgNow add these two files to main Nagios configuration file. Open nagios.cfg file with any editor.
# vi /usr/local/nagios/etc/nagios.cfg
Now add the two newly
created files as shown below.# You can specify individual object config files as shown below: cfg_file=/usr/local/nagios/etc/hosts.cfg cfg_file=/usr/local/nagios/etc/services.cfgNow open hosts.cfg file and add the default host template name and define remote hosts as shown below. Make sure to replace host_name, alias and address with your remote host server details.
# vi /usr/local/nagios/etc/hosts.cfg ## Default Linux Host Template ## define host{ name rhel-machine ; Name of this template use generic-host ; Inherit default values check_period 24x7 check_interval 5 retry_interval 1 max_check_attempts 10 check_command check-host-alive notification_period 24x7 notification_interval 30 notification_options d,r contact_groups admins register 0 ; DONT REGISTER THIS - ITS A TEMPLATE } ## Default define host{ use rhel-machine ; Inherit default values from a template host_name tiltec ; The name we're giving to this server alias RHEL 6 ; A longer name for the server address 192.168.0.120 ; IP address of Remote Linux host }Next open services.cfg file add the following services to be monitored.
# vi /usr/local/nagios/etc/services.cfg define service{ use generic-service host_name tiltec service_description CPU Load check_command check_nrpe!check_load } define service{ use generic-service host_name tiltec service_description Total Processes check_command check_nrpe!check_total_procs } define service{ use generic-service host_name tiltec service_description Current Users check_command check_nrpe!check_users } define service{ use generic-service host_name tiltec service_description SSH Monitoring check_command check_nrpe!check_ssh } define service{ use generic-service host_name tiltec service_description FTP Monitoring check_command check_nrpe!check_ftp }
Now NRPE command
definition needs to be created in commands.cfg file.
# vi /usr/local/nagios/etc/objects/commands.cfg
Add the following NRPE
command definition at the bottom of the file.
define command{ command_name check_nrpe command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$ }Finally, verify Nagios Configuration files for any errors.
# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg Total Warnings: 0 Total Errors: 0
Restart Nagios:
# service nagios restart
That’s it. Now go to
Nagios Monitoring Web interface at
“http://Your-server-IP-address/nagios” or “http://FQDN/nagios”
and Provide the username “nagiosadmin” and password. Check that
the Remote Linux Host was added and is being monitored.
No comments :
Post a Comment