# Über PNP

## Anforderungen an Plugins

PNP benötigt zwingend gültige Performancedaten von Nagios-Plugins.

Was sind also diese Performancedaten?

Die Ausgabe eines Nagios Plugins darf bis Nagios 2.x maximal eine Zeile betragen. Diese Ausgabe wird, wenn das Plugin Performancedaten liefert, in zwei Teile zerlegt. Als Trennzeichen dient dabei das Pipe “|” Symbol.

Beispiel check_icmp :

     OK - 127.0.0.1: rta 2.687ms, lost 0% | rta=2.687ms;3000.000;5000.000;0; pl=0%;80;100;;

daraus ergibt sich der Output auf der linken Seite des Pipe-Symbols

     OK - 127.0.0.1: rta 2.687ms, lost 0%

und die Performancedaten

      rta=2.687ms;3000.000;5000.000;0; pl=0%;80;100;;

Wie man unschwer erkennt, sind die Performancedaten auf die maschinelle Verarbeitung ausgelegt. Das Format ist in den Developer Guidelines festgelegt (einen Auszug davon gibt es an dieser Stelle), es soll aber hier noch einmal kurz erläutert werden.

      rta=2.687ms;3000.000;5000.000;0;
       |    |  |    |         |     | |
       |----|--|----|---------|-----|-|----- * Label
            |--|----|---------|-----|-|----- * Aktueller Wert
               |----|---------|-----|-|----- Einheit ( UOM = UNIT of Measurement )
                    |---------|-----|-|----- Warning Schwellwert
                              |-----|-|----- Critical Schwellwert
                                    |-|----- Minimum Wert
                                      |----- Maximum Wert

Mit * gekennzeichnete Werte müssen vorhanden sein. Alle anderen Werte sind optional.

Mehrere Datenreihen werden durch Leerzeichen getrennt. Die eigentlichen Daten dürfen also keine Leerzeichen enthalten. Soll das Label Leerzeichen enthalten, so müssen diese in einfache Hochkomma eingeschlossen werden.

## Benötigte Software

- Perl >= 5.x ohne besondere Module
- RRDtool ab 1.x; besser 1.2, aber nicht zwingend.
  Achtung: wird RRDtool ohne Paket-Manager installiert, fehlen anschließend möglicherweise die dejavu-Fonts. Das äußert sich z.B. durch fehlende Schriften in den Grafiken
- PHP >= 5.1.6 für das Webfrontend basierend auf Kohana
- Nagios >= 2.x oder Icinga
- für Kohana muss außerdem das Modul “mod_rewrite” in der Web-Server-Konfiguration aktiviert sein. Einzelheiten sind in der Web-Server-Dokumentation der entsprechenden Distribution nachzulesen.

## Lizenz

PNP ist unter der GPL 2 lizensiert.

## Download

Die Entwicklung von PNP wird auf Sourceforge.Net organisiert. PNP ist dort unter dem Projektnamen “PNP4Nagios” registriert.

Die jeweils aktuelle (stabile) Version findet ihr im Downloadbereich.

Wer noch aktueller sein möchte, kann auch die jeweils letzte Entwickler-Version benutzen.

Mit der Version 0.6.x wurde von SVN auf GIT zum Verwalten des Sourcecodes gewechselt.

Die aktuelle Entwicklung ist jederzeit unter https://github.com/lingej/pnp4nagios einzusehen. Beim Klicken auf pnp4nagios-head.tar.gz wird ein Archiv mit der letzten Version heruntergeladen.

## Support

VOR dem Stellen von Support-Anfragen sollte sichergestellt werden, dass die unter http://docs.pnp4nagios.org/de/pnp-0.6/verify genannten Punkte geprüft wurden.

Die Entwickler und Helfer sind im Nagios-Portal unter http://www.nagios-portal.org vertreten. Dort gibt es einen eigenen Bereich zum Thema PNP.
Bei Support-Anfragen bitte das Betriebssystem und die PNP-Version angeben. Außerdem ist es wichtig, ob PNP aus den Sourcen erstellt oder ein vorgefertigtes Paket verwendet wurde.

Erfolgreich gelöste Probleme bitte mit einem [solved] in der Betreffzeile des ersten Beitrags kennzeichnen. Auf diese Weise erleichtern wir anderen Benutzern das Finden von Lösungen zu einem Problem.

Weiterhin können die Mailinglisten auf Sourceforge verwendet werden. Dort ist es jedoch üblich, Fragen auf Englisch zu stellen.

pnp4nagios-users: Die Users-Liste für allgemeine Fragen zur Konfiguration.

pnp4nagios-devel: Die Devel-Liste für Anregungen und Fehler Reports.

pnp4nagios-checkins: Auf der Checkins-Liste werden Änderungen im SVN-Repository automatisch veröffentlicht.

## Datenhaltung

Die Performance-Daten werden mit Hilfe von RRDtool in sogenannten Round-Robin-Datenbanken gespeichert, die wie ein Ringpuffer funktionieren. Das bedeutet, dass nach einer gewissen Zeit die ältesten Daten “hinten” herausfallen und “vorne” durch neue ersetzt werden.

Verschiedene Zeitintervalle innerhalb der Datei sorgen für unterschiedliche Auflösungen. In der Standardeinstellung können die Daten für die letzten zwei Tage im Minutenabstand abgelegt werden, für zehn Tage im 5-Minutenabstand, für 90 Tage im 30-Minutenabstand und für 4 Jahre im 6-Stundenabstand. Die Vergrößerung des Intervalls bewirkt, dass auch die Daten über das jeweils größere Intervall hinweg gemittelt werden. Das führt automatisch dazu, dass Spitzen nicht mehr so deutlich zu sehen sind. Das ist kein Fehler von PNP, sondern eine Eigenheit von RRDtool. Dazu gibt es auch einen Artikel im Linux-Magazin.

Durch die Speicherung in diesem Format ändert sich die Dateigröße nach dem Anlegen nicht mehr. Pro Datenreihe werden ca. 400 KB benötigt.

Zurück zur Übersicht | PNP-Modi