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.
[bash]apt-get updateapt-get install nagios-plugins nagios-nrpe-server[/bash]
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.
[bash]vi /etc/nagios/nrpe.cfg[/bash]Nach jeder Konfigurationsänderung ist ein Neustart des NRPE Servers erforderlich:
[bash]/etc/init.d/nagios-nrpe-server restart[/bash]Variante2: NRPE Plugin und Server selbst kompilieren
Abhängigkeiten installieren
[bash]apt-get install build-essential libssl-dev openssl[/bash]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:
[bash]useradd -m nagiospasswd nagios[/bash]
Anschliessend wird der Benutzer noch der Gruppe nagios hinzugefügt
[bash]usermod -a -G nagios nagios[/bash]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.
[bash]cd /usr/srcwget 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[/bash]
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:
[bash]cd /usr/src/nagios-plugins-1.4.16./configure –prefix=/usr/local/nagios –with-nagios-user=nagios
make
make install[/bash]
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:
[sam id=’2′ codes=’true‘] [bash]cd /usr/srcwget http://sourceforge.net/projects/nagios/files/nrpe-2.x/nrpe-2.14/nrpe-2.14.tar.gz
tar -xzvf nrpe-2.14.tar.gz[/bash]
Nach dem Entpacken wird das NRPE Plugin + Daemon installiert:
[bash]cd /usr/src/nrpe-2.14./configure
make all
make install-plugin
make install-daemon
make install-daemon-config[/bash]
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.
[bash]vi /usr/local/nagios/etc/nrpe.cfg[/bash]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:
[bash]cp /usr/src/nrpe-2.14/init-script.debian /etc/init.d/nrpechmod 755 /etc/init.d/nrpe[/bash]
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:
[bash]vi /etc/init.d/nrpe[/bash] [bash]#!/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[/bash]
Sobald die Änderung gespeichert wurde kann der Daemon gestartet werden:
[bash]/etc/init.d/nrpe start[/bash]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:
[bash]update-rc.d nrpe defaults[/bash] [bash]reboot[/bash] [bash]ps -axf |grep nrpe7047 ? Ss 0:00 /usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d[/bash]
Weiterführende Informationen
http://nagios.sourceforge.net/docs/nrpe/NRPE.pdf
http://exchange.nagios.org/directory/Addons/Monitoring-Agents/NRPE
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
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
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