Home / Linux / HowTo: NRPE Plugin unter Debian installieren und Monitoring mit Icinga oder Nagios
Icinga Logo

HowTo: NRPE Plugin unter Debian installieren und Monitoring mit Icinga oder Nagios

Step-by-Step: Installationsanleitung des NRPE Plugins (Server) + Nagios Plugins unter Debian Linux, Ubuntu oder Linux Mint von den Repositories, oder manuelle Installation durch selbst kompilieren der benötigten Komponenten.

Mit dem Nagios NRPE Daemon lassen sich bekannte Plugins und Commandos auf entfernten Servern ausführen. So werden sämtliche Check Anfragen vom lokalen Icinga oder Nagios Server auf den NRPE Daemon des zu überwachenden Server gesendet. Dieser überprüft dann anhand der Konfigurationsdatei welcher Check ausgeführt werden soll und übermittelt das Ergebnis zurück an den Monitoringserver. Anhand dieser Anleitung lässt sich der NRPE Daemon + Nagios Plugins ziemlich schnell auf eurem Debian System installieren.

Variante1: NRPE Plugin und Server Installation über Debian Repositories

Wer keine aktuellen NRPE und Nagios Plugins benötigt, (die Debian Paket Maintainer sind nicht immer die schnellsten, dafür sind die Pakete aber meistens sehr sicher) kann die Installation ganz einfach über die Debian Repositories durchführen.

apt-get update
apt-get install nagios-plugins nagios-nrpe-server

Die Installation läuft voll automatisch und installiert den NRPE Server mit den Nagios Plugins. Die Konfiguration muss anschließend bearbeitet werden und zumindest die Sicherheits-Einstellungen „server_port“= und „allowed_hosts=“ sollten für euer Icinga/Nagios System angepasst werden.

vi /etc/nagios/nrpe.cfg

Nach jeder Konfigurationsänderung ist ein Neustart des NRPE Servers erforderlich:

/etc/init.d/nagios-nrpe-server restart

Variante2: NRPE Plugin und Server selbst kompilieren

Abhängigkeiten installieren

apt-get install build-essential libssl-dev openssl

Benutzer und Gruppe für die Plugins anlegen

Damit NRPE und die Nagios Plugins funktionieren, benötigen sie einen eigenen Benutzer. Ich wähle hier den Namen nagios. Diesen legen wir wie folgt an und vergeben ein Passwort:

useradd -m nagios
passwd nagios

Anschliessend wird der Benutzer noch der Gruppe nagios hinzugefügt

usermod -a -G nagios nagios

Download und Installation der Nagios Plugins

NRPE verwendet die Nagios Plugins um die eigentlichen Checks durchzuführen. Die Plugins sind kleine eigenständige Programme, die auch unabhängig von Icinga bzw. Nagios verwendet werden können. Der Download ist bei Sourceforge verfügbar und ich empfehle die Verwendung der aktuellsten stable Version. In meinem Fall die Version 1.4.16.

cd /usr/src
wget http://sourceforge.net/projects/nagiosplug/files/nagiosplug/1.4.16/nagios-plugins-1.4.16.tar.gz
tar -xzvf nagios-plugins-1.4.16.tar.gz

Nach dem Entpacken können die Plugins installiert werden (wenn ihr einen anderen User gewählt habt so muss die Option –with-nagios-user=“ “ entsprechend geändert werden:

cd /usr/src/nagios-plugins-1.4.16
./configure --prefix=/usr/local/nagios --with-nagios-user=nagios
make
make install

Download und Installation des NRPE Plugin

Nun kommen wir zur eigentlichen Installation des NRPE Plugin/Daemon. Auch hier verwenden wir die aktuellste stable Version von  Sourceforge. In meinem Fall Version 2.14. Diese wird wieder herunter geladen und entpackt:

cd /usr/src
wget http://sourceforge.net/projects/nagios/files/nrpe-2.x/nrpe-2.14/nrpe-2.14.tar.gz
tar -xzvf nrpe-2.14.tar.gz

Nach dem Entpacken wird das NRPE Plugin + Daemon installiert:

cd /usr/src/nrpe-2.14
./configure
make all
make install-plugin
make install-daemon
make install-daemon-config

Konfiguration bearbeiten

Die Konfigurationsdatei /usr/local/nagios/etc/nrpe.cfg kann nun entsprechend der Check Anfragen von Eurem Icinga oder Nagios Monitoringsystem angepasst werden. Beispiel Checks findet ihr am Ende der Datei. Wichtig hierbei sind die Einstellungen „server_port“= und „allowed_hosts=“ die adaptiert werden sollten.

vi /usr/local/nagios/etc/nrpe.cfg

Start/Stop Skript und Autostart:

Damit der Daemon auch nach einem reboot startet, richten wir diesen noch als Autostart Skript ein. Dazu wird das mitgelieferte init Skript für den Daemon nach /etc/init.d kopiert und zum Ausführen berechtigt:

cp /usr/src/nrpe-2.14/init-script.debian /etc/init.d/nrpe
chmod 755 /etc/init.d/nrpe

Damit der nrpe Autostart auch mit der neuen „dependency based boot sequence“ (Fehlermeldung: update-rc.d: using dependency based boot sequencing insserv: warning: script ’nrpe‘ missing LSB tags and overrides) funktioniert müssen wir es noch ein wenig modifizieren und folgende Zeilen am Anfang der init.d Datei hinzufügen:

vi /etc/init.d/nrpe
#!/bin/sh
# Start/stop the nrpe daemon.
#
# Contributed by Andrew Ryder 06-22-02
# Slight mods by Ethan Galstad 07-09-02
### BEGIN INIT INFO
# Provides:             nrpe
# Required-Start:       $remote_fs $syslog
# Required-Stop:        $remote_fs $syslog
# Default-Start:        2 3 4 5
# Default-Stop:         0 1 6
# Short-Description:   The NRPE daemon
### END INIT INFO

Sobald die Änderung gespeichert wurde kann der Daemon gestartet werden:

/etc/init.d/nrpe start

Wenn der Daemon nun ohne Fehler gestartet ist können wir diesen nun als Autostart hinzufügen und anschließend den Server rebooten um zu sehen ob der Daemon auch nach dem Reboot wieder gestartet wurde:

update-rc.d nrpe defaults
reboot
ps -axf |grep nrpe
7047 ?        Ss     0:00 /usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d

Weiterführende Informationen

http://nagios.sourceforge.net/docs/nrpe/NRPE.pdf
http://exchange.nagios.org/directory/Addons/Monitoring-Agents/NRPE

HowTo: NRPE Plugin unter Debian installieren und Monitoring mit Icinga oder Nagios
3.95 (79%) 20 Bewertungen

Auch cool

Fahrzeugdiagnose selber durchführen können mit dem iPhone

Wieder einmal blinkt eine Kontrolleleuchte im Fahrzeug auf. Doch was bedeutet diese? Sollte man am …

4 Kommentare

  1. Was spricht gegen apt-get install nagios-nrpe-server? Die Nagios-Plugins werden automatisch mit installiert. Das geht deutlich schneller und man braucht keine unnötige Entwicklungsumgebung auf dem Server.

    • Hallo David,

      die Version spricht dagegen. 2.12 ist doch schon ziemlich alt. Wer aber lieber mit aktuelleren Paketen arbeiten möchte, kann sich nrpe selber kompilieren.

      Die build-essential kann schnell wieder entfernt werden:

      apt-get –purge remove build-essential
      apt-get autoremove

      Gruß
      Patrick

  2. Hey, danke für die zahlreichen Informationen.
    Was mich jetzt aber noch interessieren würde, welche Vorteile dadurch enstehen oder ob der Zweck der Installation alles ist was du oben erwähnst?
    VG

  3. Huhey,

    die Einleitung stimmt so nicht ganz „vom lokalen Icinga oder Nagios Server auf den NRPE Daemon des zu überwachenden Server gesendet. Dieser überprüft dann anhand der Konfigurationsdatei welcher Check ausgeführt werden soll“. Der Icinga Server verbindet sich über ein Plugin auf die Maschine dir er überwachen soll (check_npre), danach führt er dort das Plugin aus. Die „Konfiguration“ des Plugins bzw. das Command an sich liegt aber auf dem Icinga Server (auch der Pfad).

    Grüße;

    Janis