NRPE moet je gebruiken om Linux Hosts te monitoren.
NRPE eenmalig installeren op de Nagios Host en per te monitoren host ook op deze machines installeren.

Downloaden van componenten

Check voor de actuele versies de nagios sites.

Remote Host configuratie

Alle volgende commando's moeten op de te monitoren host worden uitgevoerd.

Nagios Account aanmaken

$ useradd nagios
$ passwd nagios

Nagios Plugins installeren

$ cd /home/downloads
$ tar xvfz nagios-plugins-1.4.16.tar.gz
$ cd nagios-plugins-1.4.16
$ export LDFLAGS=-ldl

De enable-redhat optie mag worden weggelaten voor systemen anders dan redhat

$ ./configure --with-nagios-user=nagios --with-nagios-group=nagios --enable-redhat-pthread-workaround
$ make
$ make install
$ chown nagios.nagios /usr/local/nagios
$ chown -R nagios.nagios /usr/local/nagios/libexec/

Installeer NRPE

$ tar xvfz nrpe-2.14.tar.gz
$ cd nrpe-2.14
$ ./configure
$ make all
$ make install-plugin
$ make install-daemon
$ make install-daemon-config
$ make install-xinetd

Het kan zijn dat het ./configure commando niet lukt met de volgende melding

checking for SSL headers... configure: error: Cannot find ssl headers

Installeer in dat geval de compileer tools. (en SSL libraries) Voor Ubuntu:

$ apt-get install build-essential
$ apt-get install libssl-dev
$ ./configure --with-ssl=/usr/bin/openssl --with-ssl-lib=/usr/lib/x86_64-linux-gnu

Voor CentOS:

$ yum groupinstall "Development Tools"

Om ook de mysql-plugin te verkrijgen moeten de development libraries van de mysql client worden geïnstalleerd.

$ apt-get install libmysqlclient15-dev

of in geval van MariaDB

$ apt-get install libmariadbclient-dev

Voer hierna nogmaals de stappen uit vanaf ./configure

NRPE instellen als daemon

Bewerk /etc/xinetd.d/nrpe 

$ nano /etc/xinetd.d/nrpe

en pas de regel aan naar onderstaand voorbeeld. IP-adres wijzigen naar Nagios server.

/etc/xinetd.dnrpe
only_from       = 127.0.0.1 192.168.1.2

Bewerk /etc/services

$ nano /etc/services

en voeg de volgende regel toe

/etc/services
nrpe            5666/tcp                        # NRPE for Nagios

XinetD herstarten

$ service xinetd restart

Controleren of de service draait

$ netstat -at | grep nrpe

geeft

tcp        0      0 *:nrpe                  *:*                     LISTEN

NRPE controleren

$ /usr/local/nagios/libexec/check_nrpe -H localhost

geeft

NRPE v2.14

NRPE configuratie

Pas indien nodig de voorgedefinieerde opdrachten aan zodat ze aansluiten op jouw wensen.
Bewerk hiervoor /usr/local/nagios/etc/nrpe.cfg en pas aan of voeg toe. De regels zien er als volgt uit. 

$ nano /usr/local/nagios/etc/nrpe.cfg
nrpe.cfg
command[check_users]=/usr/local/nagios/libexec/check_users -w 5 -c 10
command[check_load]=/usr/local/nagios/libexec/check_load -w 15,10,5 -c 30,25,20

Nagios Host configuratie

De installatie van NRPE is eenmalig. Configuratie voor verschillende te monitoren hosts is natuurlijk iedere keer nodig dat er een host bijkomt.

Installatie NRPE

$ tar xvfz nrpe-2.14.tar.gz
$ cd nrpe-2.14
$ ./configure
$ make all
$ make install-plugin
./configure geeft output als onderstaand:

*** Configuration summary for nrpe 2.14 12-21-2012 ***:

General Options:
————————-
NRPE port: 5666
NRPE user: nagios
NRPE group: nagios
Nagios user: nagios
Nagios group: nagios

Als je bij het compileren een foutmelding krijgt over SSL headers installeer deze dan.
Voor ubuntu gaat dit middels: 

$ apt-get install libssl-dev

Voor CentOS gaat dit middels:

$ yum install libssl-dev

Voor SUSE Enterprise Linux 11 SP1 is het wat lastiger. Hier moet het losse pakket worden geïnstalleerd vanaf de SDK DVD1 

libopenssl-devel-0.9.8h-30.27.11.x86_64.rpm
zlib-devel-1.2.3-106.34.x86_64.rpm

Controleren of NRPE kan communiceren met de remote host.

$ /usr/local/nagios/libexec/check_nrpe -H 192.168.1.3

Service definitie in een host configuratie file

host.cfg
define service{
use generic-service
service_description Root Partition
contact_groups admins
check_command check_nrpe!check_hda1
}

Het stuk na check_nrpe! is het commando wat op de remote host wordt uitgevoerd en dus is terug te vinden in de configuratiefile op de remote host.