PNP - RRD Graphen für Nagios

Größe: px
Ab Seite anzeigen:

Download "PNP - RRD Graphen für Nagios"

Transkript

1 2. NETWAYS Nagios Konferenz, in Nürnberg

2 1 Einführung Was ist PNP 2 Die Installation Vorraussetzungen Die Installation Prüfung der Installation Nagios Service Extinfo Templates Config Files 3 neues in Version PNP Advanced Bulkmode Bulkmode mit NCPD

3 Was ist PNP Was ist PNP Was ist PNP? PNP ist ein Addon für Nagios zum Erstellen von Trend Graphen. Die Datenhaltung und die Darstellung basiert auf RRDtool a. Kein Datenwachstum durch RRD Datenbanken. a Die Entwickler PNP wird von und Hendrik Bäcker entwickelt. Die Entwicklung wird auf Sourceforge.net a organisiert. a

4 Was ist PNP Warum benötige ich Graphen? Nagios alarmiert sehr zuverlässig. Graphen zeigen die Entwicklung bis zum Alarm. Gewichtung eines Alarms ist erst nach Analyse der Trends möglich. Baselining. Wer den Normalzustand seiner Systeme kennt, erkennt Fehlverhalten schneller.

5 Was ist PNP PNP im Nagios Web Interface integriert

6 Was ist PNP Warum noch ein Tool? Als PNP entstand gab es nur wenige Tools. Die ersten Zeilen Code entstanden Mitte 2003 PNP ist auf einfache Installation getrimmt. Nach der Installation ist der Aufwand für die Konfiguration gering.

7 Was ist PNP Warum PNP? PNP besitzt einige Funktionen die man so bei anderen Tools nicht findet. Übersicht aller Graphen für einen Rechner. Suche nach Rechner über ein AJAX Suchfeld. Ergebnisse werden schon während der Eingabe angezeigt. Alle von Nagios exportierte Makros stehen für die Verwendung in Graphen zur Verfügung. PDF Export aller Seiten ( ab PNP-0.4 ) Übersichten nach eigenen Selektionen ( Pages ab PNP-0.4 ) Support für check multi ( ab PNP-0.4 ) Performante Datenverarbeitung.

8 Was ist PNP Warum PNP? PNP besitzt einige Funktionen die man so bei anderen Tools nicht findet. Übersicht aller Graphen für einen Rechner. Suche nach Rechner über ein AJAX Suchfeld. Ergebnisse werden schon während der Eingabe angezeigt. Alle von Nagios exportierte Makros stehen für die Verwendung in Graphen zur Verfügung. PDF Export aller Seiten ( ab PNP-0.4 ) Übersichten nach eigenen Selektionen ( Pages ab PNP-0.4 ) Support für check multi ( ab PNP-0.4 ) Performante Datenverarbeitung.

9 Was ist PNP Warum PNP? PNP besitzt einige Funktionen die man so bei anderen Tools nicht findet. Übersicht aller Graphen für einen Rechner. Suche nach Rechner über ein AJAX Suchfeld. Ergebnisse werden schon während der Eingabe angezeigt. Alle von Nagios exportierte Makros stehen für die Verwendung in Graphen zur Verfügung. PDF Export aller Seiten ( ab PNP-0.4 ) Übersichten nach eigenen Selektionen ( Pages ab PNP-0.4 ) Support für check multi ( ab PNP-0.4 ) Performante Datenverarbeitung.

10 Was ist PNP Warum PNP? PNP besitzt einige Funktionen die man so bei anderen Tools nicht findet. Übersicht aller Graphen für einen Rechner. Suche nach Rechner über ein AJAX Suchfeld. Ergebnisse werden schon während der Eingabe angezeigt. Alle von Nagios exportierte Makros stehen für die Verwendung in Graphen zur Verfügung. PDF Export aller Seiten ( ab PNP-0.4 ) Übersichten nach eigenen Selektionen ( Pages ab PNP-0.4 ) Support für check multi ( ab PNP-0.4 ) Performante Datenverarbeitung.

11 1 Einführung Was ist PNP 2 Die Installation Vorraussetzungen Die Installation Prüfung der Installation Nagios Service Extinfo Templates Config Files 3 neues in Version PNP Advanced Bulkmode Bulkmode mit NCPD

12 Vorraussetzungen Welche Vorraussetzungen benötigt PNP? Nagios 2.x oder 3.x PHP 4.3+ für das Webinterface. GD und zlib Unterstützung für PHP wenn die Seiten als PDF exportiert werden sollen. Perl 5.x ohne spezielle Module. RRDtool Plugins die gültige Performance Daten liefern. Hinweis RRDtool sollte in der Version 1.2x verwendet werden.

13 Vorraussetzungen Der Aufbau der Performance Daten Performance Daten Die Ausgabe der Nagios Plugins ist bis Nagios 2.x auf eine Zeile begrenzt. Der Ausgabe wiederum wird durch das Pipe Zeichen in zwei Teile zerlegt. Ausgabe von check users USERS OK - 6 users currently logged in users=6;20;50;0 Zerlegt in Output und Perfdata Output= USERS OK - 6 users currently logged in Perfdata= users=6;20;50;0

14 Vorraussetzungen Der Aufbau der Performance Daten Performance Daten Die Ausgabe der Nagios Plugins ist bis Nagios 2.x auf eine Zeile begrenzt. Der Ausgabe wiederum wird durch das Pipe Zeichen in zwei Teile zerlegt. Ausgabe von check users USERS OK - 6 users currently logged in users=6;20;50;0 Zerlegt in Output und Perfdata Output= USERS OK - 6 users currently logged in Perfdata= users=6;20;50;0

15 Vorraussetzungen Der Aufbau der Performance Daten Performance Daten Die Ausgabe der Nagios Plugins ist bis Nagios 2.x auf eine Zeile begrenzt. Der Ausgabe wiederum wird durch das Pipe Zeichen in zwei Teile zerlegt. Ausgabe von check users USERS OK - 6 users currently logged in users=6;20;50;0 Zerlegt in Output und Perfdata Output= USERS OK - 6 users currently logged in Perfdata= users=6;20;50;0

16 Die Installation PNP Download Stable Versions Die jeweils aktuelle Version auf SourceForge.net Developer Snapshot Täglicher Developer Snapshot als pnp-latest.tar.gz Changelog Das Changlog wird zusammen mit dem Developer Snapshot aus dem SVN Repository erzeugt und ist ebenfalls auf zu finden.

17 Die Installation Wie läuft die Installation ab? Wer Nagios aus den Sourcen übersetzt hat, wird den Dreisatz bereits kennen. Der Dreisatz./configure make all make install

18 Die Installation Was geschieht beim./configure?./configure Das configure Script analysiert das System und adaptiert die wichtigsten Pfade. Am Ende wird eine Übersicht der Einstellungen zur Prüfung ausgegeben../configure help liefert weitere Parameter und deren Bedeutung um das Verhalten von PNP zu beeinflussen oder Pfade anzupassen.

19 Die Installation make all und make install make all make all compiliert die in C geschriebenen Componenten make install make install kopiert alle Komponenten an die passenden Stellen im Dateisystem. Die Pfade wurden in der Zusammenfassung des./configure Laufs angezeigt.

20 Die Installation Nagios lernt PNP kennen Es gibt 3 oder mehr Arten PNP in Nagios zu integrieren. Wir bleiben erst einmal beim default Mode. nagios.cfg process_performance_data=1 service_perfdata_command=process-service-perfdata command define command { command_name command_line } process-service-perfdata $USER1$/process_perfdata.pl

21 Die Installation Nagios lernt PNP kennen Es gibt 3 oder mehr Arten PNP in Nagios zu integrieren. Wir bleiben erst einmal beim default Mode. nagios.cfg process_performance_data=1 service_perfdata_command=process-service-perfdata command define command { command_name command_line } process-service-perfdata $USER1$/process_perfdata.pl

22 Die Installation Nagios lernt PNP kennen Es gibt 3 oder mehr Arten PNP in Nagios zu integrieren. Wir bleiben erst einmal beim default Mode. nagios.cfg process_performance_data=1 service_perfdata_command=process-service-perfdata command define command { command_name command_line } process-service-perfdata $USER1$/process_perfdata.pl

23 Die Installation Verarbeitung pro Service einschalten Hinweis Die Verarbeitung der Performance Daten muss fuer jeden Service eingeschaltet werden! Templates erleichtern diese Aufgabe. Service define service{... process_perf_data 1... }

24 Die Installation Verarbeitung pro Service einschalten Hinweis Die Verarbeitung der Performance Daten muss fuer jeden Service eingeschaltet werden! Templates erleichtern diese Aufgabe. Service define service{... process_perf_data 1... }

25 Prüfung der Installation Prüfung der Installation Wurden Daten gesammelt? Für jeden Host wird ein eigenes Verzeichnis unter share/perfdata angelegt. In diesem Verzeichnis sind nun für jeden Service 2 Dateien zu finden. Die RRD Datei enthält die Daten. Die XML Datei enthält Informationen die zum Erstellen der Graphen verwendet werden. Hinweis Die XML Datei wird von process perfdata.pl immer wieder neu angelegt.

26 Prüfung der Installation Prüfung der Installation Wurden Daten gesammelt? Für jeden Host wird ein eigenes Verzeichnis unter share/perfdata angelegt. In diesem Verzeichnis sind nun für jeden Service 2 Dateien zu finden. Die RRD Datei enthält die Daten. Die XML Datei enthält Informationen die zum Erstellen der Graphen verwendet werden. Hinweis Die XML Datei wird von process perfdata.pl immer wieder neu angelegt.

27 Nagios Service Extinfo Nagios Service Extinfo PNP mit der Action URL in Nagios integrieren. Service define serviceextinfo{... action_url /nagios/pnp/index.php?host=$hostname$\ &srv=$servicedesc$ } Hinweis Ab Nagios 3.x ist die Service Extinfo Definition in der Service Definition integriert.

28 Nagios Service Extinfo Nagios Service Extinfo PNP mit der Action URL in Nagios integrieren. Service define serviceextinfo{... action_url /nagios/pnp/index.php?host=$hostname$\ &srv=$servicedesc$ } Hinweis Ab Nagios 3.x ist die Service Extinfo Definition in der Service Definition integriert.

29 Nagios Service Extinfo Aufbau der URLs Alle Services eines Hosts pnp/index.php?host=$hostname$ Alle Graphen eines Services pnp/index.php?host=$hostname$&srv=$servicedesc$ Die erste Page pnp/index.php?page Eine Page mit bestimmter Config. pnp/index.php?page=webserver traffic

30 Templates PNP Templates PNP Templates Templates bestimmen das Aussehen der Graphen und somit den Aufruf von RRDtool. Zuordnung der Templates Ein Template wird immer über das von Nagios verwendete check command bestimmt. Daten die über das Plugin check http und somit über das Check Command check http übermittelt wurden, werden somit über das Template check http.php dargestellt.

31 Templates PNP Templates PNP Templates Templates bestimmen das Aussehen der Graphen und somit den Aufruf von RRDtool. Zuordnung der Templates Ein Template wird immer über das von Nagios verwendete check command bestimmt. Daten die über das Plugin check http und somit über das Check Command check http übermittelt wurden, werden somit über das Template check http.php dargestellt.

32 Templates PNP Templates Speicherort der Templates Templates werden im Verzeichnis share/pnp/templates.dist oder share/pnp/templates gespeichert. Das Verzeichnis share/pnp/templates.dist enthält Templates die im PNP Paket enthalten sind. Hinweis Eigene Templates sollten nur im Verzeichnis share/pnp/templates angelegt werden. So wird verhindert das die Templates bei Updates überschrieben werden.

33 Templates Template Mappings über symbolische Links Mapping check command zum Template Templates tragen in der Regel den Namen des zugrundeliegenden Plugins, da der Bezeichnung des Check Commands nicht festgelegt ist. Verknüpfungen können über symbolische Links realisiert werden. So müssen die Templates nicht kopiert werden. Hinweis Wird von PNP kein passendes Template gefunden, wird share/pnp/templates.dist/default.php verwendet.

34 Config Files Config Files Config Files Config Files befinden sich im Verzeichnis etc/pnp und liegen nach der Installation erst als sample Files vor. Hinweis Die Config Files werden nicht zwingend benötigt. Die Werte sind in den jeweiligen Scripten bereits hinterlegt und werden durch die Config übersteuert.

35 Config Files process perfdata.cfg Bestimmt das Verhalten von process perfdata.pl Einschalten des RRDs Perl Moduls Pfade zu RRDtool und den RRD Datenbanken Debuging einschalten Hinweis Das Debug Log kann schnell sehr groß werden! Ab PNP wird das Debug Log nach erreichen von 10MB geleert.

36 Config Files rra.cfg rra.cfg Bestimmt die Anzahl der Datenreihen in den RRD Datenbanken. Wird nur beim Erstellen neuer RRD Datenbanken eingelesen. Hinweis Die rra.cfg enthält Hinweise über den Aufbau der RRD Datenbanken.

37 Config Files Custom Templates Custom Templates Hinweis Wenn das check command nicht gleichzeitig auch das Template darstellt. Wird oft bei check nrpe oder check nwstat verwendet. Config Files pro check command in etc/pnp/check commands. Argumente ( $ARG1$... ) können mit in den Template Namen integriert werden. Im Verzeichnis etc/pnp/check commands befindet sich ein Beispiel.

38 1 Einführung Was ist PNP 2 Die Installation Vorraussetzungen Die Installation Prüfung der Installation Nagios Service Extinfo Templates Config Files 3 neues in Version PNP Advanced Bulkmode Bulkmode mit NCPD

39 PDF Export PDF Export für alle Übersichten Bis PNP konnten PDF Exporte nur für Service Übersichten erstellt werden. Mit PNP 0.4 ist diese Beschränkung aufgehoben. Jede Seite hat ein PDF Icon und kann somit exportiert werden.

40 PDF Background PDF Background Eigene PDF Vorlagen können von PNP als Hintergrund importiert werden. So ist man in der Lage eigene Logos, oder sogar ein komplettes Firmenlayout im PDF abzubilden. PDF Background File Findet PNP im Verzeichnis etc/pnp die Datei background.pdf so wird diese automatisch verwendet. Der Pfad kann in etc/pnp/config.php jedoch angepasst werden.

41 PDF Background PDF Background Eigene PDF Vorlagen können von PNP als Hintergrund importiert werden. So ist man in der Lage eigene Logos, oder sogar ein komplettes Firmenlayout im PDF abzubilden. PDF Background File Findet PNP im Verzeichnis etc/pnp die Datei background.pdf so wird diese automatisch verwendet. Der Pfad kann in etc/pnp/config.php jedoch angepasst werden.

42 Host Performance Daten nagios.cfg process_perfdata = 1 process_host_perfdata_command = process-host-perfdata command define command { command_name command_line } process-host-perfdata $USER1$/process_perfdata.pl -d HOSTPERFDATA

43 Host Performance Daten nagios.cfg process_perfdata = 1 process_host_perfdata_command = process-host-perfdata command define command { command_name command_line } process-host-perfdata $USER1$/process_perfdata.pl -d HOSTPERFDATA

44 Host Performance Daten Host Perfdata verarbeiten Ab Nagios 3.x werden Host Checks in regulären Intervallen durchgeführt. Somit kann PNP auch diese Daten verarbeiten. Host Performance Daten werden wie ein Service behandelt. Die Daten werden als HOST.xml und HOST.rrd gespeichert. Darstellung Host Performance Daten werden in der Host Übersicht immer an erster Stelle angezeigt. Ansonsten werden sie wie ein normaler Service behandelt.

45 Host Performance Daten Host Perfdata verarbeiten Ab Nagios 3.x werden Host Checks in regulären Intervallen durchgeführt. Somit kann PNP auch diese Daten verarbeiten. Host Performance Daten werden wie ein Service behandelt. Die Daten werden als HOST.xml und HOST.rrd gespeichert. Darstellung Host Performance Daten werden in der Host Übersicht immer an erster Stelle angezeigt. Ansonsten werden sie wie ein normaler Service behandelt.

46 1 Einführung Was ist PNP 2 Die Installation Vorraussetzungen Die Installation Prüfung der Installation Nagios Service Extinfo Templates Config Files 3 neues in Version PNP Advanced Bulkmode Bulkmode mit NCPD

47 Bulkmode Daten im Bulk Mode verarbeiten Bulk Mode Im Bulk Mode wird process perfdata.pl nicht bei jedem Service Check ausgeführt, sondern verarbeitet die Daten am Stück. Laufzeit für die Verarbeitung wird minimiert. Keine Last durch unnötige Systemcalls. Daten werden in der Datei service-perfdata gespeichert. Nagios kümmert sich selbst um das Löschen der Daten nach erfolgreicher Verarbeitung Nachteil Für die Zeit die process perfdata.pl für die Verarbeitung benötigt, wird Nagios blockiert.

48 Bulkmode Daten im Bulk Mode verarbeiten Bulk Mode Im Bulk Mode wird process perfdata.pl nicht bei jedem Service Check ausgeführt, sondern verarbeitet die Daten am Stück. Laufzeit für die Verarbeitung wird minimiert. Keine Last durch unnötige Systemcalls. Daten werden in der Datei service-perfdata gespeichert. Nagios kümmert sich selbst um das Löschen der Daten nach erfolgreicher Verarbeitung Nachteil Für die Zeit die process perfdata.pl für die Verarbeitung benötigt, wird Nagios blockiert.

49 Bulkmode Daten im Bulk Mode verarbeiten nagios.cfg service_perfdata_file=/usr/local/nagios/var/service-perfdata service_perfdata_file_template=datatype::serviceperfdata\ttimet::$timet$... service_perfdata_file_mode=a service_perfdata_file_processing_interval=10 service_perfdata_file_processing_command=process-service-perfdata-file Command process-service-perfdata-file define command{ command_name process-service-perfdata-file command_line /usr/local/nagios/libexec/process_perfdata.pl \ --bulk=/usr/local/nagios/var/service-perfdata }

50 Bulkmode mit NCPD Bulk Mode mit NCPD NPCD NPCD ( Nagios Perfdata C Daemon ) überwacht das Spool Verzeichnis auf neue Daten. Die Verarbeitung wird von Nagios entkoppelt. Nagios verschiebt service-perfdata nur in das Spool Verzeichnis. process perfdata.pl löscht die Daten nach erfolgreicher Verarbeitung. Nachteil Komplizierter Aufbau

51 Bulkmode mit NCPD Bulk Mode mit NCPD NPCD NPCD ( Nagios Perfdata C Daemon ) überwacht das Spool Verzeichnis auf neue Daten. Die Verarbeitung wird von Nagios entkoppelt. Nagios verschiebt service-perfdata nur in das Spool Verzeichnis. process perfdata.pl löscht die Daten nach erfolgreicher Verarbeitung. Nachteil Komplizierter Aufbau

52 Bulkmode mit NCPD Daten im Bulk Mode verarbeiten nagios.cfg service_perfdata_file=/usr/local/nagios/var/service-perfdata service_perfdata_file_template=datatype::serviceperfdata\ttimet::$timet$... service_perfdata_file_mode=a service_perfdata_file_processing_interval=10 service_perfdata_file_processing_command=process-service-perfdata-file Command process-service-perfdata-file define command{ command_name process-service-perfdata-file command_line /bin/mv /usr/local/nagios/var/service-perfdata \ /usr/local/nagios/var/spool/service-perfdata-$timet$ }

53 Bulkmode mit NCPD NCPD starten NPCD starten /usr/local/nagios/bin/npcd \ -f /usr/local/nagios/etc/pnp/npcd.cfg -d NPCD Optionen NPCD Configuration -f Pfad zur Config Datei npcd.cfg -d Im Daemon Mode starten Die einzelnen Optionen sind in der Config Datei etc/pnp/npcd.cfg erklärt.

54 Bulkmode mit NCPD Ausblick auf neue Funktionen Ideen für zukünftige PNP Versionen Zugriff auf einzelne Funktionen über XML basierte Webservices. XML Export der Daten für einen bestimmten Zeitraum.

55 Danke Vielen Dank für Ihre Aufmerksamkeit! Fragen oder Anregungen? Support Mailingliste PNP Forum unter