SlideShare uma empresa Scribd logo
1 de 26
Baixar para ler offline
Plugin Entwicklung 
für Einsteiger 
Alexander Wirt 
19. November 2014
Inhaltsverzeichnis 
Persönliches 
Die Theorie 
Was ist ein Plugin 
Über Returncodes 
die Ausgabe 
Performancecounter 
Parameterübergabe 
Die Praxis 
Debugging 
Hello World 
Perl 
Python 
Fragen 
Dokumentation
Persönliches 
I IT Leiter bei einem kleinen norddeutschen Mittelständler 
I Nebenberuflicher Consultant 
I Debian Entwickler seit 2003 
I 15 Jahre Nagios Erfahrung 
I Maintainer von Paketen wie Nagios, Icinga, Icinga2, nsca-ng und 
andere
Die Theorie 
Was ist ein Plugin? 
I Plugins sind ausführbare Dateien 
I diese werden in regelmässigen Abständen vom Monitoringsystem 
aufgerufen 
I der Rückgabecode bestimmt den Status des Objekts 
I Plugins können in jeder Sprache geschrieben sein
Die Theorie 
Über Returncodes 
I Der Returncode eines ausgeführten Plugins bestimmt das Ergebniss 
I Der zurückgegebene Text hat keinerlei Einfluss auf das Ergebniss 
I Die meisten Checks können sowohl für Hosts, als auch für 
Servicechecks verwendet werden
Die Theorie 
Returncodes bei Hostchecks 
Hostchecks 
0 UP 
1 UP / DOWN 1 
2 DOWN 
3 DOWN 
1Hängt von der Option use_aggressive_host_checking ab
Die Theorie 
Returncodes bei Servicechecks 
Servicechecks 
0 OK 
1 Warning 
2 Critical 
3 Unknown
Die Theorie 
Textausgabe 
Ausgabeformat 
Textausgabe | Performancecounter 
Erweiterter Text Zeile 1 
Erweiterter Text Zeile 2 
... 
Letzte Zeile erweiterter Text | Performancecounter Zeile 2 
Performancecounter Zeile 3 
... 
Letzte Zeile Performancecounter
Die Theorie 
Ausgabebeispiele 
Einzeilige Ausgabe 
SSH OK - OpenSSH_6.7p1 Debian-3 (protocol 2.0) | time=0,004733s;;;0,000000;10,000000
Die Theorie 
Ausgabebeispiele 
Mehrzeilige Ausgabe 
DISK OK - free space: / 3326 MB (56%); | /=2643MB;5948;5958;0;5968 
/ 15272 MB (77%); 
/boot 68 MB (69%); 
/home 69357 MB (27%); 
/var/log 819 MB (84%); | /boot=68MB;88;93;0;98 
/home=69357MB;253404;253409;0;253414 
/var/log=818MB;970;975;0;980
Die Theorie 
Zusammenfassung Ausgabe 
I Die Textausgabe ist nicht standardisiert 
I Die Ausgabe hat keine Auswirkung auf den Checkresult 
I Mehrzeilige Ausgaben können Probleme verursachen
Die Theorie 
Perfomancecounter 
I Counter werden im Normalfall nicht vom Monitoringsystem 
interpretiert 
I Ausnahme: Icinga2 (Graphite Addon) 
I Formatierungsempfehlungen kommen aus dem Monitoring Plugins 
Projekt
Die Theorie 
Performancecounter - Format 
Format 
‘LABEL’=VALUE[Einheit];[WARN];[CRIT];[MIN];[MAX] 
I Weitere Felder werden Leerzeichen separiert hinzugefügt 
I Bei mehrzeiligen Performancecounter Feldern fügt das System die 
Zeilen zusammen. Hierbei wird kein Leerzeichen eingefügt. Es ist 
also darauf zu achten das nach dem Zusammenfügen die einzelnen 
Counter weiterhin durch ein Leerzeichen separiert sind.
Die Theorie 
Performancecounter - Label 
I Singleticks sind optional, aber empfohlen 
I Bei Leerzeichen im Label sind sie verpflichtend 
I Labels dürfen keine Singleticks oder Gleicheitszeichen enthalten
Die Theorie 
Performancecounter - Einheiten 
% Wenn ein Wert als Prozentwert angegeben wird sind Min 
und Max optional 
{u,s}s Sekunden 
{K,M,T}B Bytes 
c Counter 
int,float Werte ohne Einheit (z.B. Load, Benutzer) 
I Alle Werte müssen in der selben Einheit sein 
I Für Werte die nicht ermittelt werden konnten kann ein ‘U’ 
eingesetzt werden 
I Warn und Crit müssen dem Monitoring Plugins Bereichsformat 
entsprechen
Die Theorie 
Performancecounter - Bereichsformat 
Bereichsformat 
[@]start:ende 
I startende 
I start: ist optional wenn start Null ist 
I Wenn end nicht spezifiert ist wird er als unendlich angenommen 
I Negative Unendlichkeit kann mit ˜spezifiziert werden 
I Ohne führendes @ wird angenommen das beim Verlassen des 
Bereiches ein Alarm ausgelöst wird 
I Mit führendem @ wird angenommen das innerhalb des Bereichs ein 
Alarm ausgelöst wird
Die Theorie 
Parameterübergabe 
Argumente 
I Makros können als Argumente an ein Plugin übergeben werden 
I Zusätzliche Argumente können über $ARGX$ Makros übergeben 
werden 
Umgebungsvariablen 
I Können über die ienable_environment_macros Option 
eingeschaltet werden 
I Performancekiller 
I On-Demand und $USER$ Makros sind nicht verfügbar
Die Praxis 
Debugging 
I Plugins sollten immer zuerst auf der Kommandozeile getestet werden 
I Immer als der Benutzer ausführen unter dem sie auch später laufen 
(nagios/icinga/..) 
I test-plugin
Die Praxis 
hello world 
1 #!/bin/bash 
2 echo Hello World 
3 r=$RANDOM 
4 let r %= 4 
5 exit $r
Die Praxis 
hello world
Die Praxis 
Perl 
I Perl kann durch EPN ausgeführt werden 
I Monitoring::Plugins benutzen
Die Praxis 
Python 
I nagiosplugin Bibliothek
Die Praxis 
EPN 
EPN 
I Wesentlich schneller 
I Größerer Memory Footprint 
I EPN Dokumentation 
I # nagios: +epn zum Einschalten innerhalb der ersten 10 Zeilen 
Code 
I # nagios: -epn zum Einschalten
Und danach? 
share your work! 
I Icinga Exchange 
I Nagios Exchange
Fragen? 
IRC 
Join us on IRC #icinga@freenode 
E-Mail 
I Icinga Users Mailingliste 
I Monitoring Plugins Mailingliste
Dokumentation 
I Monitoring Plugins Development Guidelines 
I Icinga Dokumentation zu Hostchecks 
I Icinga Dokumentation zu Servicechecks 
I Macros in Icinga

Mais conteúdo relacionado

Destaque

2015 estudioanualredessociales-6-150128095116-conversion-gate02
2015 estudioanualredessociales-6-150128095116-conversion-gate022015 estudioanualredessociales-6-150128095116-conversion-gate02
2015 estudioanualredessociales-6-150128095116-conversion-gate02mpereles
 
El Arte contemporáneo frente a la crisis ecológica
El Arte contemporáneo frente a la crisis ecológicaEl Arte contemporáneo frente a la crisis ecológica
El Arte contemporáneo frente a la crisis ecológicaSlideGumi
 
Exposiciones
ExposicionesExposiciones
Exposiciones291097
 
JSN Epic Anpassungshandbuch
JSN Epic AnpassungshandbuchJSN Epic Anpassungshandbuch
JSN Epic AnpassungshandbuchJoomlaShine
 
Gute Webinhalte – wie aus Besuchern Kunden werden
Gute Webinhalte – wie aus Besuchern Kunden werdenGute Webinhalte – wie aus Besuchern Kunden werden
Gute Webinhalte – wie aus Besuchern Kunden werdenMatthias Walti
 
Wellness & Badebereich im Hotel Schwarzer Adler Nauders am Reschenpass
Wellness & Badebereich im Hotel Schwarzer Adler Nauders am ReschenpassWellness & Badebereich im Hotel Schwarzer Adler Nauders am Reschenpass
Wellness & Badebereich im Hotel Schwarzer Adler Nauders am Reschenpassadlerhotel
 
Propuesta de solucion al problema de niños marginados
Propuesta de solucion al problema de niños marginadosPropuesta de solucion al problema de niños marginados
Propuesta de solucion al problema de niños marginadosstefanie29
 
Presentacion de linked-in
Presentacion de linked-inPresentacion de linked-in
Presentacion de linked-inJhonatan7922
 
AdWords ohne rechte Spalte: Armageddon oder Courant Normal?
AdWords ohne rechte Spalte: Armageddon oder Courant Normal?AdWords ohne rechte Spalte: Armageddon oder Courant Normal?
AdWords ohne rechte Spalte: Armageddon oder Courant Normal?Yourposition AG
 
Théâtre de Bâle Programmation complète mars 2013
Théâtre de Bâle Programmation complète mars 2013 Théâtre de Bâle Programmation complète mars 2013
Théâtre de Bâle Programmation complète mars 2013 Bâle Région Mag
 
Las redes sociales como entorno docente
Las redes sociales como entorno docenteLas redes sociales como entorno docente
Las redes sociales como entorno docentefelipe castro
 
Moviendo el deporte areli collantes y karla rodríguez- 3°
Moviendo el deporte  areli collantes y karla rodríguez- 3°Moviendo el deporte  areli collantes y karla rodríguez- 3°
Moviendo el deporte areli collantes y karla rodríguez- 3°AreliyKarla3
 
Multiculturalismo
MulticulturalismoMulticulturalismo
MulticulturalismoSlideGumi
 

Destaque (18)

2015 estudioanualredessociales-6-150128095116-conversion-gate02
2015 estudioanualredessociales-6-150128095116-conversion-gate022015 estudioanualredessociales-6-150128095116-conversion-gate02
2015 estudioanualredessociales-6-150128095116-conversion-gate02
 
Mis vacaciones
Mis vacaciones Mis vacaciones
Mis vacaciones
 
Las estepas
Las estepasLas estepas
Las estepas
 
Lernen und Medienhandeln im Format der Forschung
Lernen und Medienhandeln im Format der ForschungLernen und Medienhandeln im Format der Forschung
Lernen und Medienhandeln im Format der Forschung
 
El Arte contemporáneo frente a la crisis ecológica
El Arte contemporáneo frente a la crisis ecológicaEl Arte contemporáneo frente a la crisis ecológica
El Arte contemporáneo frente a la crisis ecológica
 
Exposiciones
ExposicionesExposiciones
Exposiciones
 
JSN Epic Anpassungshandbuch
JSN Epic AnpassungshandbuchJSN Epic Anpassungshandbuch
JSN Epic Anpassungshandbuch
 
Gute Webinhalte – wie aus Besuchern Kunden werden
Gute Webinhalte – wie aus Besuchern Kunden werdenGute Webinhalte – wie aus Besuchern Kunden werden
Gute Webinhalte – wie aus Besuchern Kunden werden
 
schau.gmuend Nr.4
schau.gmuend Nr.4schau.gmuend Nr.4
schau.gmuend Nr.4
 
Wellness & Badebereich im Hotel Schwarzer Adler Nauders am Reschenpass
Wellness & Badebereich im Hotel Schwarzer Adler Nauders am ReschenpassWellness & Badebereich im Hotel Schwarzer Adler Nauders am Reschenpass
Wellness & Badebereich im Hotel Schwarzer Adler Nauders am Reschenpass
 
Propuesta de solucion al problema de niños marginados
Propuesta de solucion al problema de niños marginadosPropuesta de solucion al problema de niños marginados
Propuesta de solucion al problema de niños marginados
 
Presentacion de linked-in
Presentacion de linked-inPresentacion de linked-in
Presentacion de linked-in
 
AdWords ohne rechte Spalte: Armageddon oder Courant Normal?
AdWords ohne rechte Spalte: Armageddon oder Courant Normal?AdWords ohne rechte Spalte: Armageddon oder Courant Normal?
AdWords ohne rechte Spalte: Armageddon oder Courant Normal?
 
Fieston de quito
Fieston de quitoFieston de quito
Fieston de quito
 
Théâtre de Bâle Programmation complète mars 2013
Théâtre de Bâle Programmation complète mars 2013 Théâtre de Bâle Programmation complète mars 2013
Théâtre de Bâle Programmation complète mars 2013
 
Las redes sociales como entorno docente
Las redes sociales como entorno docenteLas redes sociales como entorno docente
Las redes sociales como entorno docente
 
Moviendo el deporte areli collantes y karla rodríguez- 3°
Moviendo el deporte  areli collantes y karla rodríguez- 3°Moviendo el deporte  areli collantes y karla rodríguez- 3°
Moviendo el deporte areli collantes y karla rodríguez- 3°
 
Multiculturalismo
MulticulturalismoMulticulturalismo
Multiculturalismo
 

Semelhante a OSMC 2014: Plugin Entwicklung für Einsteiger | Alexander Wirt

Testing untestable code - PHPUGFFM 01/11
Testing untestable code - PHPUGFFM 01/11Testing untestable code - PHPUGFFM 01/11
Testing untestable code - PHPUGFFM 01/11Stephan Hochdörfer
 
Lösungsorientierte Fehlerbehandlung
Lösungsorientierte FehlerbehandlungLösungsorientierte Fehlerbehandlung
Lösungsorientierte Fehlerbehandlungroskakori
 
Die Macht der Zahlen
Die Macht der ZahlenDie Macht der Zahlen
Die Macht der ZahlenGerrit Beine
 
Intersys - Integration mit Spirateam (Zurich 2017)
Intersys - Integration mit Spirateam (Zurich 2017)Intersys - Integration mit Spirateam (Zurich 2017)
Intersys - Integration mit Spirateam (Zurich 2017)Adam Sandman
 
Rex - Infrastruktur als Code
Rex - Infrastruktur als CodeRex - Infrastruktur als Code
Rex - Infrastruktur als CodeJan Gehring
 
Best Practices für TDD in JavaScript
Best Practices für TDD in JavaScriptBest Practices für TDD in JavaScript
Best Practices für TDD in JavaScriptSebastian Springer
 
Hands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET Core
Hands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET CoreHands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET Core
Hands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET CoreGregor Biswanger
 
Policy Driven Microservices mit Open Policy Agent
Policy Driven Microservices mit Open Policy AgentPolicy Driven Microservices mit Open Policy Agent
Policy Driven Microservices mit Open Policy AgentQAware GmbH
 
How to speed up Spring Integration Tests
How to speed up Spring Integration TestsHow to speed up Spring Integration Tests
How to speed up Spring Integration TestsQAware GmbH
 
eCATT & OpenSource - Automatisierter Test in heterogenen Systemlandschaften
eCATT & OpenSource - Automatisierter Test in heterogenen SystemlandschafteneCATT & OpenSource - Automatisierter Test in heterogenen Systemlandschaften
eCATT & OpenSource - Automatisierter Test in heterogenen SystemlandschaftenChristoph Menke
 
Puppet: Designing modules & repositories
Puppet: Designing modules & repositoriesPuppet: Designing modules & repositories
Puppet: Designing modules & repositoriesinovex GmbH
 
OSMC 2009 | Entwicklung von Nagios-Plugins mit Net::SNMP und Nagios::Plugin b...
OSMC 2009 | Entwicklung von Nagios-Plugins mit Net::SNMP und Nagios::Plugin b...OSMC 2009 | Entwicklung von Nagios-Plugins mit Net::SNMP und Nagios::Plugin b...
OSMC 2009 | Entwicklung von Nagios-Plugins mit Net::SNMP und Nagios::Plugin b...NETWAYS
 
Icinga 2: Enterprise Monitoring der nächsten Generation (Webinar vom 22.07.2014)
Icinga 2: Enterprise Monitoring der nächsten Generation (Webinar vom 22.07.2014)Icinga 2: Enterprise Monitoring der nächsten Generation (Webinar vom 22.07.2014)
Icinga 2: Enterprise Monitoring der nächsten Generation (Webinar vom 22.07.2014)NETWAYS
 
Webinar Icinga 2: Enterprise Monitoring der nächsten Generation (22.07.2014)
Webinar Icinga 2: Enterprise Monitoring der nächsten Generation (22.07.2014)Webinar Icinga 2: Enterprise Monitoring der nächsten Generation (22.07.2014)
Webinar Icinga 2: Enterprise Monitoring der nächsten Generation (22.07.2014)NETWAYS
 
Continuous Integration / Deployment mit Jenkins CI
Continuous Integration / Deployment mit Jenkins CI Continuous Integration / Deployment mit Jenkins CI
Continuous Integration / Deployment mit Jenkins CI Florian Bosselmann
 
Qualitätssicherung in Webprojekten
Qualitätssicherung in WebprojektenQualitätssicherung in Webprojekten
Qualitätssicherung in WebprojektenSebastian Springer
 
Webanwendungen testen
Webanwendungen testenWebanwendungen testen
Webanwendungen testenBoris Köster
 
PROFACTOR Gruppe | Complete Inspect
PROFACTOR Gruppe | Complete InspectPROFACTOR Gruppe | Complete Inspect
PROFACTOR Gruppe | Complete InspectPROFACTOR Group
 
Der ultimative PHP Framework Vergleich 2023 Edition
Der ultimative PHP Framework Vergleich 2023 EditionDer ultimative PHP Framework Vergleich 2023 Edition
Der ultimative PHP Framework Vergleich 2023 EditionRalf Eggert
 

Semelhante a OSMC 2014: Plugin Entwicklung für Einsteiger | Alexander Wirt (20)

Testing untestable code - PHPUGFFM 01/11
Testing untestable code - PHPUGFFM 01/11Testing untestable code - PHPUGFFM 01/11
Testing untestable code - PHPUGFFM 01/11
 
Lösungsorientierte Fehlerbehandlung
Lösungsorientierte FehlerbehandlungLösungsorientierte Fehlerbehandlung
Lösungsorientierte Fehlerbehandlung
 
Die Macht der Zahlen
Die Macht der ZahlenDie Macht der Zahlen
Die Macht der Zahlen
 
Intersys - Integration mit Spirateam (Zurich 2017)
Intersys - Integration mit Spirateam (Zurich 2017)Intersys - Integration mit Spirateam (Zurich 2017)
Intersys - Integration mit Spirateam (Zurich 2017)
 
Rex - Infrastruktur als Code
Rex - Infrastruktur als CodeRex - Infrastruktur als Code
Rex - Infrastruktur als Code
 
Best Practices für TDD in JavaScript
Best Practices für TDD in JavaScriptBest Practices für TDD in JavaScript
Best Practices für TDD in JavaScript
 
Hands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET Core
Hands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET CoreHands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET Core
Hands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET Core
 
Policy Driven Microservices mit Open Policy Agent
Policy Driven Microservices mit Open Policy AgentPolicy Driven Microservices mit Open Policy Agent
Policy Driven Microservices mit Open Policy Agent
 
How to speed up Spring Integration Tests
How to speed up Spring Integration TestsHow to speed up Spring Integration Tests
How to speed up Spring Integration Tests
 
eCATT & OpenSource - Automatisierter Test in heterogenen Systemlandschaften
eCATT & OpenSource - Automatisierter Test in heterogenen SystemlandschafteneCATT & OpenSource - Automatisierter Test in heterogenen Systemlandschaften
eCATT & OpenSource - Automatisierter Test in heterogenen Systemlandschaften
 
Puppet: Designing modules & repositories
Puppet: Designing modules & repositoriesPuppet: Designing modules & repositories
Puppet: Designing modules & repositories
 
OSMC 2009 | Entwicklung von Nagios-Plugins mit Net::SNMP und Nagios::Plugin b...
OSMC 2009 | Entwicklung von Nagios-Plugins mit Net::SNMP und Nagios::Plugin b...OSMC 2009 | Entwicklung von Nagios-Plugins mit Net::SNMP und Nagios::Plugin b...
OSMC 2009 | Entwicklung von Nagios-Plugins mit Net::SNMP und Nagios::Plugin b...
 
Icinga 2: Enterprise Monitoring der nächsten Generation (Webinar vom 22.07.2014)
Icinga 2: Enterprise Monitoring der nächsten Generation (Webinar vom 22.07.2014)Icinga 2: Enterprise Monitoring der nächsten Generation (Webinar vom 22.07.2014)
Icinga 2: Enterprise Monitoring der nächsten Generation (Webinar vom 22.07.2014)
 
Webinar Icinga 2: Enterprise Monitoring der nächsten Generation (22.07.2014)
Webinar Icinga 2: Enterprise Monitoring der nächsten Generation (22.07.2014)Webinar Icinga 2: Enterprise Monitoring der nächsten Generation (22.07.2014)
Webinar Icinga 2: Enterprise Monitoring der nächsten Generation (22.07.2014)
 
Continuous Integration / Deployment mit Jenkins CI
Continuous Integration / Deployment mit Jenkins CI Continuous Integration / Deployment mit Jenkins CI
Continuous Integration / Deployment mit Jenkins CI
 
Qualitätssicherung in Webprojekten
Qualitätssicherung in WebprojektenQualitätssicherung in Webprojekten
Qualitätssicherung in Webprojekten
 
Webanwendungen testen
Webanwendungen testenWebanwendungen testen
Webanwendungen testen
 
PROFACTOR Gruppe | Complete Inspect
PROFACTOR Gruppe | Complete InspectPROFACTOR Gruppe | Complete Inspect
PROFACTOR Gruppe | Complete Inspect
 
Der ultimative PHP Framework Vergleich 2023 Edition
Der ultimative PHP Framework Vergleich 2023 EditionDer ultimative PHP Framework Vergleich 2023 Edition
Der ultimative PHP Framework Vergleich 2023 Edition
 
Testing tools
Testing toolsTesting tools
Testing tools
 

OSMC 2014: Plugin Entwicklung für Einsteiger | Alexander Wirt

  • 1. Plugin Entwicklung für Einsteiger Alexander Wirt 19. November 2014
  • 2. Inhaltsverzeichnis Persönliches Die Theorie Was ist ein Plugin Über Returncodes die Ausgabe Performancecounter Parameterübergabe Die Praxis Debugging Hello World Perl Python Fragen Dokumentation
  • 3. Persönliches I IT Leiter bei einem kleinen norddeutschen Mittelständler I Nebenberuflicher Consultant I Debian Entwickler seit 2003 I 15 Jahre Nagios Erfahrung I Maintainer von Paketen wie Nagios, Icinga, Icinga2, nsca-ng und andere
  • 4. Die Theorie Was ist ein Plugin? I Plugins sind ausführbare Dateien I diese werden in regelmässigen Abständen vom Monitoringsystem aufgerufen I der Rückgabecode bestimmt den Status des Objekts I Plugins können in jeder Sprache geschrieben sein
  • 5. Die Theorie Über Returncodes I Der Returncode eines ausgeführten Plugins bestimmt das Ergebniss I Der zurückgegebene Text hat keinerlei Einfluss auf das Ergebniss I Die meisten Checks können sowohl für Hosts, als auch für Servicechecks verwendet werden
  • 6. Die Theorie Returncodes bei Hostchecks Hostchecks 0 UP 1 UP / DOWN 1 2 DOWN 3 DOWN 1Hängt von der Option use_aggressive_host_checking ab
  • 7. Die Theorie Returncodes bei Servicechecks Servicechecks 0 OK 1 Warning 2 Critical 3 Unknown
  • 8. Die Theorie Textausgabe Ausgabeformat Textausgabe | Performancecounter Erweiterter Text Zeile 1 Erweiterter Text Zeile 2 ... Letzte Zeile erweiterter Text | Performancecounter Zeile 2 Performancecounter Zeile 3 ... Letzte Zeile Performancecounter
  • 9. Die Theorie Ausgabebeispiele Einzeilige Ausgabe SSH OK - OpenSSH_6.7p1 Debian-3 (protocol 2.0) | time=0,004733s;;;0,000000;10,000000
  • 10. Die Theorie Ausgabebeispiele Mehrzeilige Ausgabe DISK OK - free space: / 3326 MB (56%); | /=2643MB;5948;5958;0;5968 / 15272 MB (77%); /boot 68 MB (69%); /home 69357 MB (27%); /var/log 819 MB (84%); | /boot=68MB;88;93;0;98 /home=69357MB;253404;253409;0;253414 /var/log=818MB;970;975;0;980
  • 11. Die Theorie Zusammenfassung Ausgabe I Die Textausgabe ist nicht standardisiert I Die Ausgabe hat keine Auswirkung auf den Checkresult I Mehrzeilige Ausgaben können Probleme verursachen
  • 12. Die Theorie Perfomancecounter I Counter werden im Normalfall nicht vom Monitoringsystem interpretiert I Ausnahme: Icinga2 (Graphite Addon) I Formatierungsempfehlungen kommen aus dem Monitoring Plugins Projekt
  • 13. Die Theorie Performancecounter - Format Format ‘LABEL’=VALUE[Einheit];[WARN];[CRIT];[MIN];[MAX] I Weitere Felder werden Leerzeichen separiert hinzugefügt I Bei mehrzeiligen Performancecounter Feldern fügt das System die Zeilen zusammen. Hierbei wird kein Leerzeichen eingefügt. Es ist also darauf zu achten das nach dem Zusammenfügen die einzelnen Counter weiterhin durch ein Leerzeichen separiert sind.
  • 14. Die Theorie Performancecounter - Label I Singleticks sind optional, aber empfohlen I Bei Leerzeichen im Label sind sie verpflichtend I Labels dürfen keine Singleticks oder Gleicheitszeichen enthalten
  • 15. Die Theorie Performancecounter - Einheiten % Wenn ein Wert als Prozentwert angegeben wird sind Min und Max optional {u,s}s Sekunden {K,M,T}B Bytes c Counter int,float Werte ohne Einheit (z.B. Load, Benutzer) I Alle Werte müssen in der selben Einheit sein I Für Werte die nicht ermittelt werden konnten kann ein ‘U’ eingesetzt werden I Warn und Crit müssen dem Monitoring Plugins Bereichsformat entsprechen
  • 16. Die Theorie Performancecounter - Bereichsformat Bereichsformat [@]start:ende I startende I start: ist optional wenn start Null ist I Wenn end nicht spezifiert ist wird er als unendlich angenommen I Negative Unendlichkeit kann mit ˜spezifiziert werden I Ohne führendes @ wird angenommen das beim Verlassen des Bereiches ein Alarm ausgelöst wird I Mit führendem @ wird angenommen das innerhalb des Bereichs ein Alarm ausgelöst wird
  • 17. Die Theorie Parameterübergabe Argumente I Makros können als Argumente an ein Plugin übergeben werden I Zusätzliche Argumente können über $ARGX$ Makros übergeben werden Umgebungsvariablen I Können über die ienable_environment_macros Option eingeschaltet werden I Performancekiller I On-Demand und $USER$ Makros sind nicht verfügbar
  • 18. Die Praxis Debugging I Plugins sollten immer zuerst auf der Kommandozeile getestet werden I Immer als der Benutzer ausführen unter dem sie auch später laufen (nagios/icinga/..) I test-plugin
  • 19. Die Praxis hello world 1 #!/bin/bash 2 echo Hello World 3 r=$RANDOM 4 let r %= 4 5 exit $r
  • 21. Die Praxis Perl I Perl kann durch EPN ausgeführt werden I Monitoring::Plugins benutzen
  • 22. Die Praxis Python I nagiosplugin Bibliothek
  • 23. Die Praxis EPN EPN I Wesentlich schneller I Größerer Memory Footprint I EPN Dokumentation I # nagios: +epn zum Einschalten innerhalb der ersten 10 Zeilen Code I # nagios: -epn zum Einschalten
  • 24. Und danach? share your work! I Icinga Exchange I Nagios Exchange
  • 25. Fragen? IRC Join us on IRC #icinga@freenode E-Mail I Icinga Users Mailingliste I Monitoring Plugins Mailingliste
  • 26. Dokumentation I Monitoring Plugins Development Guidelines I Icinga Dokumentation zu Hostchecks I Icinga Dokumentation zu Servicechecks I Macros in Icinga