Nagios und PNP – Performancedaten visualisieren

7. Mai 2009 | Von | Kategorie: Admin

Ein kurze Anleitung zur Installation von PNP unter Debian – Lenny. Es gibt im offiziellen Repositiory für Debian noch kein Paket für PNP4nagios. Zwar hat Sven eines erstellt, aber es ist nicht im Repository enthalten. Daher werde ich im folgenden eine kompakte Anleitung für die Aufzeichnung der Nagios-Perfermoncedaten zur Verfügung stellen. Nagios habe ich auf der Debian-Maschine aus dem Repository mittels

aptitude install nagios3

installiert. PNP wird direkt aus den Sourcen installiert.

Zunächst müssen die PNP-Sourcen heruntergeladen und extrahiert werden. Ich setze im weiteren voraus, dass die notwendigen Abhängigkeiten wir RRDTools und build-essential ebenfalls bereits installiert sind. Eine wesentlische Problematik stellen die Verzeichnisse dar, die ein ../configure-Aufruf erwartet. Standardmäßig erwartet PNP eine Nagios-Installation in den folgenden Verzeichnissen:

# ./configure
...
*** Configuration summary for pnp 0.4.14 05-02-2009 ***

General Options:
-------------------------         -------------------
Nagios user/group:                nagios nagios
Install directory:                /usr/local/nagios
HTML Dir:                         /usr/local/nagios/share/pnp
Config Dir:                       /usr/local/nagios/etc/pnp
Location of rrdtool binary:       /usr/bin/rrdtool Version 1.3.1
RRDs Perl Modules:                FOUND (Version 1.3001)
RRD Files stored in:              /usr/local/nagios/share/perfdata
process_perfdata.pl Logfile:      /usr/local/nagios/var/perfdata.log
Perfdata files (NPCD) stored in:  /usr/local/nagios/var/spool/perfdata/
...

Jedoch sind diese Angaben nicht korrekt und müssen entsprechend angepasst werden. Hierbei können die Angaben durch entsprechende Angaben beim configure-Aufruf modifiziert werden. Alle möglichen Parameter zeigt zunächst ein

./configure --help

an.

Ich konzentriere mich aber auf die wesentlichen Parameter, die für eine Installation unter Lenny erforderlich sind. Zunächst passen wir den Aufruf des configure-Skriptes an:

./configure --prefix /usr/share/nagios3 --sysconfdir=/etc/nagios3 --htmldir=/usr/share/nagios3/htdocs/ --with-perfdata-logfile=/var/log/nagios3/perfdata.log --datarootdir=/usr/share/nagios3/htdocs

Dieses führt zu folgenden Verzeichnissen:

    General Options:
-------------------------         -------------------
Nagios user/group:                nagios nagios
Install directory:                /usr/share/nagios3
HTML Dir:                         /usr/share/nagios3/htdocs/pnp
Config Dir:                       /etc/nagios3
Location of rrdtool binary:       /usr/bin/rrdtool Version 1.3.1
RRDs Perl Modules:                FOUND (Version 1.3001)
RRD Files stored in:              /usr/share/nagios3/htdocs/pnp/perfdata
process_perfdata.pl Logfile:      /var/log/nagios3/perfdata.log
Perfdata files (NPCD) stored in:  /usr/share/nagios3/var/spool/perfdata/

Ein anschließendes:

make all
make install
make install-config

wird PNP installieren.

Also können wir uns an die Konfiguration machen. Zunächst prüfen wir die Einstellungen in der Datei /etc/nagios3/config.php. Vor allem sollte ein kurzer Blick auf die entsprechenden Verzeichnisse geworfen werden, sind die Verzeichnisse wirklich vorhanden und hat der User nagios:nagios darauf die Zugriffsrechte?

Konfiguration von Nagios

Im nächsten Schritt konfigurieren wir Nagios. Die Monitoringsoftware muss nach jedem Test ein Skript aufrufen, welches die Performancedaten verarbeitet. Also öffnen wir die Hauptkonfiguration von Nagios und passen die folgenden Parameter an:

process_performance_data=1
service_perfdata_command=service-perfdata-pnp

Nun definieren wir noch das entsprechende Kommando, welches hier nur beispielhaft für die Perfomancedaten von Service-Checks aufgezeigt wird.

define command {
command_name    service-perfdata-pnp
command_line    /usr/bin/perl /usr/share/nagios3/libexec/process_perfdata.pl
}

Soweit werden ab sofort Performancedaten durch PNP aufgezeichnet. Ihr könnt diese Performancedaten in Form schöner Graphen unter http://URL-Nagiosserver/nagios3/pnp/ direkt anschauen. Die Suche ist Ajax-basiert.

Um auf die Daten direkt aus dem Webinterface von Nagios 3.x heraus zuzugreifen, nutzen wir die Direktive action_url für Host-Definitionen und Service-Definitionen.

define service {
hostname     host
service_description   service
...
action_url    /pnp/index.php?host=$HOSTNAME$&srv=$SERVICEDESC$
}

Hierdurch haben wir bei den jeweiligen Services ein entsprechendes Logo, welches einen Link auf die entsprechenden Graphen darstellt.

action_url Link für PNP4nagios

action_url Link für PNP4nagios

Die Graphen, die mit Hilfe von PNP erstellt werden sind sehr schick und übersichtlich. Ein kleines Beispiel zeigt die Responsetime für einen Check eines SMTP-Dienstes.

pnp4nagios Graph

pnp4nagios Graph

Post to Twitter Post to Yahoo Buzz Post to Delicious Post to Digg Post to Facebook Post to Ping.fm Post to Reddit

Tags: | | | |

Schreibe einen Kommentar

Fühle dich ermuntert einen Kommentar, Anmerkungen, Hinweise oder deine Ideen zum Thema zu hinterlassen. Wir freuen uns über deine Rückmeldung.