Mit Nagios monitoren (Nagios in Pythonskript einfügen)

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Schönen guten Tag,

    ich habe für 2 Klimaanlagen, über Python, ein Programm geschrieben, welches die beiden nach Fehlern abfragt. Danach sollte dann eine Mail verschickt werden, dass "ein Fehler aufgetreten ist".
    Nun soll aber noch Nagios eingebunden werden. Nagios soll die Fehlermeldungen bekommen und zum monitoren ins Netzwerk ziehen.

    Hat einer vielleicht Erfahrung damit und könnte mir dabei helfen, Nagios in mein Pythonskript einzubinden???
    Das wäre echt nett weil ich dazu nichts gefunden habe.

    Gruß Kellermann66

  • Mit Nagios monitoren (Nagios in Pythonskript einfügen)? Schau mal ob du hier fündig wirst!

    • Offizieller Beitrag

    Kannst du das genauer erklären? Normalerweise baut man ein Script welches die Werte an den nagios server sendet und dieser dann monitort. Deinen Einsatz versteh ich nicht ;).

    Der Unterschied zwischen Genie und Wahnsinn definiert sich im Erfolg.

  • Da gibt's mehrere Möglichkeiten und hängt auch mit deinem Nagios-System zusammen:

    - Am Nagios wird ein passiver Check eingerichtet, und der Raspberry Pi schickt regelmässig einen Status, bzw. eine Statusaktualisierung bei Änderung des Zustandes.

    - Nagios fragt den Raspberry Pi mittels SNMP ab (muss erst am Pi installiert und konfiguriert werden) und am Pi werden eigene OIDs definiert, die den Status zurückgeben (http://snmpadventures.blogspot.de/).

    - Nagios fragt den Pi mittels NRPE ab (muss auch erst am Pi installiert und konfiguriert werden). Das Pythonskript muss dann auf Kommando vom Nagios einen Status retourschicken (http://www.nagios-wiki.de/nagios/howtos/nrpe).

    lg
    Bernd

    Anfragen ausserhalb des Forums (Mail o.ä.) werden ignoriert!

  • Ich wollte ein Python Programm schreiben, welches 2 Klimaanlagen überwacht. Und wenn das Programm dann ein Fehler findet, soll eine Mail verschickt werden und gleichzeitig in den Nagios Server. Und meine Frage ist wie ich das halt am besten mache?? :)

  • Also passive Service Checks sind nicht sehr zuverlässig mitunter. Ich würde das anders lösen:
    Es gibt einen Server, auf dem läuft Nagios.
    Auf dem Pi läuft dein Python Skript.
    Du konfigurierst auf dem Nagios Server einen "check-by-ssh", welcher dann auf dem Pi dein Skript ausführt und die Ausgabe verwertet. Damit kannst du weiterhin auf dem Nagios konfigurieren, wie oft wiederholt werden soll, bis ein Status "hart" ist und wann wer Emails bekommen soll etc...

  • Harter Status ist Nagios Jargon. Stellen wir uns mal vor, der Check wirft einen Fehler aus, der aber daher rührt, das es z.B. im Netzwerk einen Timeout gab oder das Skript z.B. wegen Systemlast nicht rechtzeitig durchlief. Weiterhin angenommen, du alarmierst jetzt, wäre das ja ein Fehlalarm. Daher setzt Nagios bei einer Zustandsänderung erst mal ein sog. Soft Status. Nagios prüft dann eine konfigurierbare Anzahl mal oft in einem konfigurierbaren Zeitabstand, bevor es den Zustand von Soft auf Hard setzt. Erst im harten Zustand finden Eskalationen statt wie z.B. Email. Ein normales Szenario ist z.B. ein regulärer Check alle 5 Minuten und bei Statusänderung folgt Soft mit 2 weiteren Checks im Minutenabstand. Werfen diese beide das gleiche Ergebnis ab, wird der Zustand hart und Eskalationen folgen. Ich hoffe das war nun nicht zu verwirrend...
    Ob du was umstellen musst, oder installieren musst, hängt von deinem Setup ab. Die Klimaanlagen kannst du vom Pi irgendwie abfragen. Ich gehe davon aus, das läuft. Wo läuft Nagios? Auf dem Pi - dann musst du nichts installieren, du kannst dein Skript direkt einbinden, ggf. musst du die Returncodes anpassen. Nagios auf einer anderen Kiste - vermutlich brauchst du NRPE oder du machst den Check-by-ssh, dann musst aber evtl auch dein Skript noch anpassen...

  • Also die Erklärung war sehr aufschlussreich. Aber ich weiß nicht, ob das bei mir klappt mit alle 5 Minuten einen Check durchzuführen, denn wenn die Klimaanlage einen Fehler hat, wird der Ausgang der mit dem Pi verbunden ist einmal kurz geöffnet/geschlossen (also ein kurzes Signal) und das wars dann glaub ich auch schon. Nach dem kurzen Signal soll es dann halt an Nagios weitergegeben werden.
    Außerdem hat Nagios einen externen Server...

    Einmal editiert, zuletzt von Kellermann66 (14. August 2013 um 14:29)

  • Stimmt, darüber hab ich mir noch gar keine Gedanken drüber gemacht. Die nächste Baustelle. :-/
    Aber erstmal will ich vielleicht versuchen, dass ich es hinbekomme, überhaupt was an Nagios zu schicken. Damit bin ich schon ein wenig überfordert. Hab nämlich etwas wenig Erfahrung mit dem RPi. Arbeite erst seit gut 2 Wochen mit dem Ding. :D

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!