PNP4Nagios ist eine Erweiterung für Nagios, die es auf einfache Weise ermöglicht, die von den Nagios Plugins gelieferten Performancedaten in RRD Datenbanken zu speichern und für die spätere Trend Analysen aufzubereiten. Dabei wird Wert auf eine einfache Installation und geringen Pflegeaufwand gelegt. Dieser Vortrag gibt eine Übersicht über die aktuellen Entwicklungen von PNP4Nagios und den neuesten Features. Die kommende Version 0.6 wird auf der Konferenz präsentiert und steht im Anschluss zum Download bereit.
1. PNP Basics Neues in PNP 0.6 Support
PNP4Nagios 0.6
J¨org Linge
OSMC, 28.10.2009 N¨urnberg
J¨org Linge PNP4Nagios 0.6
2. PNP Basics Neues in PNP 0.6 Support
1 PNP Basics
Voraussetzungen
Performancedaten
2 Neues in PNP 0.6
Das Kohana MVC Framework
Configure
Installer
Internationalization
jQuery Javascript Framework
Basket
Zeitbereiche
Neue Templates
Preview Popups
rrdcached
Interne Statistiken
3 Support
Dokumentation
J¨org Linge PNP4Nagios 0.6
3. PNP Basics Neues in PNP 0.6 Support
Was ist PNP?
Was ist PNP?
Verarbeiten von Performancedaten
Speichern der Daten mittels RRDTool
Visualisieren mittels RRDTool
Dokumentation
http://docs.pnp4nagios.org/de/pnp-0.6/about
J¨org Linge PNP4Nagios 0.6
4. PNP Basics Neues in PNP 0.6 Support
Was ist PNP?
Was ist PNP?
Verarbeiten von Performancedaten
Speichern der Daten mittels RRDTool
Visualisieren mittels RRDTool
Dokumentation
http://docs.pnp4nagios.org/de/pnp-0.6/about
J¨org Linge PNP4Nagios 0.6
5. PNP Basics Neues in PNP 0.6 Support
Voraussetzungen
Voraussetzungen
Voraussetzungen
G¨ultige Performancedaten
RRDTool
Perl
PHP 5.2
PHP Module gd und zlib
Dokumentation
http://docs.pnp4nagios.org/de/pnp-0.6/requirements
J¨org Linge PNP4Nagios 0.6
6. PNP Basics Neues in PNP 0.6 Support
Voraussetzungen
Voraussetzungen
Voraussetzungen
G¨ultige Performancedaten
RRDTool
Perl
PHP 5.2
PHP Module gd und zlib
Dokumentation
http://docs.pnp4nagios.org/de/pnp-0.6/requirements
J¨org Linge PNP4Nagios 0.6
7. PNP Basics Neues in PNP 0.6 Support
Performancedaten
Performancedaten
Warum arbeitet PNP nur mit Performancedaten?
Der Plugin Output ist nicht genormt
Output Parser k¨onnen scheitern
Existierende Standarts f¨ordern
J¨org Linge PNP4Nagios 0.6
8. PNP Basics Neues in PNP 0.6 Support
1 PNP Basics
Voraussetzungen
Performancedaten
2 Neues in PNP 0.6
Das Kohana MVC Framework
Configure
Installer
Internationalization
jQuery Javascript Framework
Basket
Zeitbereiche
Neue Templates
Preview Popups
rrdcached
Interne Statistiken
3 Support
Dokumentation
J¨org Linge PNP4Nagios 0.6
9. PNP Basics Neues in PNP 0.6 Support
Kohana
Kohana MVC
Ein Versionsprung auf 0.6 wurde n¨otig
Umstellung auf das MVC Framework Kohana
Einfachere URLs
Erweiterbarkeit verbessern
Vereinheitlichung der Javascript Komponenten
J¨org Linge PNP4Nagios 0.6
10. PNP Basics Neues in PNP 0.6 Support
Kohana
Kohana MVC Framework
Kohana
Kohana ist verf¨ugbar unter http://kohanaphp.com
Kohana ben¨otigt PHP ab Version 5.2
Kohana ist im PNP Paket enthalten
Kohana ist leichtgewichtig und unterst¨utzt beim Entwickeln
Kohana ist penibel!
J¨org Linge PNP4Nagios 0.6
11. PNP Basics Neues in PNP 0.6 Support
Kohana
Kohana MVC Framework
Kohana bringt Einsicht
Kohana zwingt sauber zu programmieren
Kohana hilft dabei Fehler abzufangen
Kohana Fehler verweisen auf FAQ Seiten
Kohana Fehlermeldungen sind aussagekr¨aftig
J¨org Linge PNP4Nagios 0.6
12. PNP Basics Neues in PNP 0.6 Support
Configure
Vorbereitung durch ./configure
./configure && make all
Basis Verzeichnis ist nun /usr/local/pnp4nagios
Keine Vermischung zwischen Nagios und PNP Dateien mehr
Eigener Apache Alias /pnp4nagios
Apache config wird erstellt und durch ’make
install-webconf’ installiert
J¨org Linge PNP4Nagios 0.6
13. PNP Basics Neues in PNP 0.6 Support
Configure
Vorbereitung durch ./configure
./configure --layout
Vordefinierte Directory Layouts
Wird weiter ausgebaut
Zur Zeit sind ’default’ und ’debian’ verf¨ugbar
Weitere Layouts m¨oglich
Austausch mit Paket Maintainern ist ausdr¨ucklich erw¨unscht!
J¨org Linge PNP4Nagios 0.6
14. PNP Basics Neues in PNP 0.6 Support
Configure
Vorbereitung durch ./configure
./configure --layout
Vordefinierte Directory Layouts
Wird weiter ausgebaut
Zur Zeit sind ’default’ und ’debian’ verf¨ugbar
Weitere Layouts m¨oglich
Austausch mit Paket Maintainern ist ausdr¨ucklich erw¨unscht!
J¨org Linge PNP4Nagios 0.6
15. PNP Basics Neues in PNP 0.6 Support
Installer
Installer
Pr¨ufung der Laufzeitumgebung
install.php pr¨uft die PHP Laufzeitumgebung
Pr¨uft ob alle PHP Module und Funktionen vorhanden sind
Pr¨uft ob diverse Verzeichnisse aus Sicht des Webservers
erreichbar sind
l¨oschen oder ignorieren?
L¨oschen der install.php zum fortfahren
Anlegen einer install.ignore ignoriert install.php auch bei sp¨ateren
Updates
J¨org Linge PNP4Nagios 0.6
16. PNP Basics Neues in PNP 0.6 Support
Installer
Installer
Pr¨ufung der Laufzeitumgebung
install.php pr¨uft die PHP Laufzeitumgebung
Pr¨uft ob alle PHP Module und Funktionen vorhanden sind
Pr¨uft ob diverse Verzeichnisse aus Sicht des Webservers
erreichbar sind
l¨oschen oder ignorieren?
L¨oschen der install.php zum fortfahren
Anlegen einer install.ignore ignoriert install.php auch bei sp¨ateren
Updates
J¨org Linge PNP4Nagios 0.6
19. PNP Basics Neues in PNP 0.6 Support
i18n
Mehrsprachigkeit
Kohana unterst¨utzt verschiedene Sprachen
PNP nutzt diese Funktion wo immer es geht
Verf¨ugbare Sprachen unter share/application/i18n
J¨org Linge PNP4Nagios 0.6
20. PNP Basics Neues in PNP 0.6 Support
i18n
Mehrsprachigkeit
Unterst¨utzte Sprachen
de DE Deutsch
en US Englisch
es ES Spanisch
ru RU Russisch
Weitere folgen sicher
¨Ubersetzer sind herzlich Willkommen sich am Projekt zu beteiligen
J¨org Linge PNP4Nagios 0.6
21. PNP Basics Neues in PNP 0.6 Support
i18n
Mehrsprachigkeit
Unterst¨utzte Sprachen
de DE Deutsch
en US Englisch
es ES Spanisch
ru RU Russisch
Weitere folgen sicher
¨Ubersetzer sind herzlich Willkommen sich am Projekt zu beteiligen
J¨org Linge PNP4Nagios 0.6
22. PNP Basics Neues in PNP 0.6 Support
jQuery
Redesign
jQuery machts m¨oglich
Alle Javascript Helfer wurden vereinheitlicht
jQuery anstelle von Prototype und Scriptaculous
Design Elemente ¨uber jQuery UI Widgets
Design ¨uber jQuery UI Themes anpassbar
Themes lassen sich ¨uber den jQuery Theme Builder einfach
erstellen
jQuery Themes
http://jqueryui.com/themeroller
J¨org Linge PNP4Nagios 0.6
23. PNP Basics Neues in PNP 0.6 Support
jQuery
Redesign
jQuery machts m¨oglich
Alle Javascript Helfer wurden vereinheitlicht
jQuery anstelle von Prototype und Scriptaculous
Design Elemente ¨uber jQuery UI Widgets
Design ¨uber jQuery UI Themes anpassbar
Themes lassen sich ¨uber den jQuery Theme Builder einfach
erstellen
jQuery Themes
http://jqueryui.com/themeroller
J¨org Linge PNP4Nagios 0.6
27. PNP Basics Neues in PNP 0.6 Support
Basket
Basket
Graphen Auswahl
Einzelne Graphen k¨onnen markiert werden
Markierte Graphen lassen sich in einer ¨Ubersicht darstellen
Markierungen werden pro User in der PHP Session gespeichert
PDF Export auch f¨ur die ausgew¨ahlten Graphen
J¨org Linge PNP4Nagios 0.6
29. PNP Basics Neues in PNP 0.6 Support
Zeitbereiche
Zeitbereiche
Zeitbereiche ausw¨ahlen
Feste Zeitbereiche sind in der config.php definierbar
Der Endzeitpunkt l¨asst sich verschieben
Individuelle Bereiche ¨uber Definition von Start- und End
Zeitpunkt
Zeitbereiche werden pro User in der PHP Session gespeichert
Zeitbereiche m¨ussen nicht absolut sein
J¨org Linge PNP4Nagios 0.6
30. PNP Basics Neues in PNP 0.6 Support
Zeitbereiche
Relative Zeitbereiche
Beispiele
Tomorrow = Gestern gleiche Zeit.
-1 week = Eine Woche in die Vergangenheit
10:00 = Heute 10:00 Uhr
1.5.2009 09:55 = Absolutes Datum mit Uhrzeit
2009W06 = 6. Kalenderwoche 2009
Syntax
Intern wird die PHP Funktion strtotime verwendet. Weitere Beispiele
unter http://www.php.net/strtotime
J¨org Linge PNP4Nagios 0.6
31. PNP Basics Neues in PNP 0.6 Support
Zeitbereiche
Relative Zeitbereiche
Beispiele
Tomorrow = Gestern gleiche Zeit.
-1 week = Eine Woche in die Vergangenheit
10:00 = Heute 10:00 Uhr
1.5.2009 09:55 = Absolutes Datum mit Uhrzeit
2009W06 = 6. Kalenderwoche 2009
Syntax
Intern wird die PHP Funktion strtotime verwendet. Weitere Beispiele
unter http://www.php.net/strtotime
J¨org Linge PNP4Nagios 0.6
33. PNP Basics Neues in PNP 0.6 Support
Neue Templates
Templates
Neue Templates
check mk von Matthias Kettner
check esx3 von op5 aus Schweden
check openmanage von Trond Hasle Amundsen
check oracle health von Gerhard Laußer
check multi nagiostats von Matthias Flacke
Das Default Template wurde weiter verbessert
J¨org Linge PNP4Nagios 0.6
34. PNP Basics Neues in PNP 0.6 Support
Neue Templates
Templates
Schutz vor b¨osen Templates
Templates k¨onnen keine internen Variablen mehr ¨uberschreiben
Programierfehler lassen sich dank Kohana leichter beheben
RRDTool Syntaxfehler werden als Bild anstelle des Graphen
ausgegeben
J¨org Linge PNP4Nagios 0.6
37. PNP Basics Neues in PNP 0.6 Support
Neue Templates
Dynamische Datenreihen
Das Problem
RRD Datenbanken sind statisch
RRD Datenbanken sind nicht zur Laufzeit erweiterbar
Manipulation nur m¨oglich per ’rrdtool dump’ und
anschließenden
’rrdtool restore’
Automatisieren zu anf¨allig f¨ur Fehler
J¨org Linge PNP4Nagios 0.6
38. PNP Basics Neues in PNP 0.6 Support
Neue Templates
Dynamische Datenreihen
Umsetzung mit PNP 0.6
STORAGE TYPE steuert das Verhalten
STORAGE TYPE wird in etc/check commands/ pro Command
definiert
Optionen f¨ur STORAGE TYPE
MULTIPLE = Mehrere RRD Datenbanken pro Nagios Service
SINGLE = Eine RRD Datenbank pro Nagios Service (Default)
J¨org Linge PNP4Nagios 0.6
39. PNP Basics Neues in PNP 0.6 Support
Neue Templates
Dynamische Datenreihen
Umsetzung mit PNP 0.6
STORAGE TYPE steuert das Verhalten
STORAGE TYPE wird in etc/check commands/ pro Command
definiert
Optionen f¨ur STORAGE TYPE
MULTIPLE = Mehrere RRD Datenbanken pro Nagios Service
SINGLE = Eine RRD Datenbank pro Nagios Service (Default)
J¨org Linge PNP4Nagios 0.6
40. PNP Basics Neues in PNP 0.6 Support
Neue Templates
Dynamische Datenreihen
Pro
Plugins wie check disk k¨onnen nun alle Filesystem in einem
Service abfragen
Plugins m¨ussen nicht mehr auf das check multi Format
ausweichen
Contra
Je mehr RRD Datenbanken desto mehr I/O Operationen
Templates m¨ussen an die dynamischen Datenreihen angepasst
werden.
J¨org Linge PNP4Nagios 0.6
41. PNP Basics Neues in PNP 0.6 Support
Neue Templates
Dynamische Datenreihen
Pro
Plugins wie check disk k¨onnen nun alle Filesystem in einem
Service abfragen
Plugins m¨ussen nicht mehr auf das check multi Format
ausweichen
Contra
Je mehr RRD Datenbanken desto mehr I/O Operationen
Templates m¨ussen an die dynamischen Datenreihen angepasst
werden.
J¨org Linge PNP4Nagios 0.6
42. PNP Basics Neues in PNP 0.6 Support
Preview Popups
Preview Popups
Nagios aufh¨ubschen
Die in das Nagios Frontend integrierten Previews wurde durch
jQuery vereinfacht
Syntax viel einfacher mit weniger Overhead
Dokumentation
http://docs.pnp4nagios.org/de/pnp-0.6/webfe
J¨org Linge PNP4Nagios 0.6
43. PNP Basics Neues in PNP 0.6 Support
Preview Popups
Preview Popups
Nagios aufh¨ubschen
Die in das Nagios Frontend integrierten Previews wurde durch
jQuery vereinfacht
Syntax viel einfacher mit weniger Overhead
Dokumentation
http://docs.pnp4nagios.org/de/pnp-0.6/webfe
J¨org Linge PNP4Nagios 0.6
46. PNP Basics Neues in PNP 0.6 Support
rrdcached
rrdcached Support
RRD Caching Daemon
Schreibende Zugriffe werden gepuffert
Vor dem generieren eines Graphen werden alle n¨otigen Daten
geschrieben
Zeitgesteuertes aktualisieren der RRD Datenbanken (flush)
Weniger I/O durch geb¨undelte Operationen
Ausnutzen des Filesystem Cache
J¨org Linge PNP4Nagios 0.6
47. PNP Basics Neues in PNP 0.6 Support
rrdcached
rrdcached Support
RRD Caching Daemon
Wird mit RRDTool 1.4 offiziell enthalten sein
PNP unterst¨utzt den rrdcached bereits jetzt
Ist im aktuellen RRDTool SVN Trunk enthalten
J¨org Linge PNP4Nagios 0.6
48. PNP Basics Neues in PNP 0.6 Support
Interne Statistiken
Interne Statistiken
Laufzeit Verhalten
process perfdata.pl speichert Informationen ¨uber die eigene
Laufzeit
runtime: Laufzeit in Sekunden
lines: Anzahl der verarbeiteten Datens¨atze pro Durchlauf
errors: Anzahl der Fehler pro Durchlauf
J¨org Linge PNP4Nagios 0.6
50. PNP Basics Neues in PNP 0.6 Support
1 PNP Basics
Voraussetzungen
Performancedaten
2 Neues in PNP 0.6
Das Kohana MVC Framework
Configure
Installer
Internationalization
jQuery Javascript Framework
Basket
Zeitbereiche
Neue Templates
Preview Popups
rrdcached
Interne Statistiken
3 Support
Dokumentation
J¨org Linge PNP4Nagios 0.6
51. PNP Basics Neues in PNP 0.6 Support
Dokumentation
docs.pnp4nagios.org
Neuer Aufbau
Aus www.pnp4nagios.org wird docs.pnp4nagis.org
Neuer Aufbau bedingt durch PNP 0.6
Mehrsprachigkeit der Doku
Registrierte User haben volle Schreibrechte
Registrierung nur zum Schutz vor Spam
J¨org Linge PNP4Nagios 0.6
52. PNP Basics Neues in PNP 0.6 Support
Dokumentation
Auf dem laufenden bleiben
Mailinglisten auf sourceforge.net
pnp4nagios-users@lists.sourceforge.net
pnp4nagios-devel@lists.sourceforge.net
pnp4nagios-checkins@lists.sourceforge.net
Details unter
http://docs.pnp4nagios.org/de/pnp-0.6/about#support
J¨org Linge PNP4Nagios 0.6
53. PNP Basics Neues in PNP 0.6 Support
Dokumentation
Auf dem laufenden bleiben
Mailinglisten auf sourceforge.net
pnp4nagios-users@lists.sourceforge.net
pnp4nagios-devel@lists.sourceforge.net
pnp4nagios-checkins@lists.sourceforge.net
Details unter
http://docs.pnp4nagios.org/de/pnp-0.6/about#support
J¨org Linge PNP4Nagios 0.6
54. PNP Basics Neues in PNP 0.6 Support
Dokumentation
Auf dem laufenden bleiben
GIT Webfrontend
Einblick in die Entwicklung
Snapshots jeder Version zum Download
Infos als RSS Feed
Gitweb unter
http://pnp4nagios.git.sourceforge.net
J¨org Linge PNP4Nagios 0.6
55. PNP Basics Neues in PNP 0.6 Support
Dokumentation
Auf dem laufenden bleiben
GIT Webfrontend
Einblick in die Entwicklung
Snapshots jeder Version zum Download
Infos als RSS Feed
Gitweb unter
http://pnp4nagios.git.sourceforge.net
J¨org Linge PNP4Nagios 0.6
56. PNP Basics Neues in PNP 0.6 Support
Dokumentation
Fragen?
Fragen?
Zeit f¨ur weitere Fragen
Danke
Danke f¨ur Ihre Aufmerksamkeit!
J¨org Linge PNP4Nagios 0.6
57. PNP Basics Neues in PNP 0.6 Support
Dokumentation
Fragen?
Fragen?
Zeit f¨ur weitere Fragen
Danke
Danke f¨ur Ihre Aufmerksamkeit!
J¨org Linge PNP4Nagios 0.6