Notification von Nagios ans iPhone

closeDieser Beitrag wurde vor über 3 Monaten veröffentlicht. Die darin beschriebenen Informationen sind mit Vorsicht zu geniessen, da sie bereits veraltet oder nicht mehr gültig sein könnten. Solltest du von Neuerungen oder Verbesserungen wissen, so freue ich mich über einen klärenden Kommentar.

Auf der Suche nach einer Lösung, wie ich die Notifications von meinem Ubuntu Server mit Nagios auf mein iPhone bekomme, bin ich über eine Funktion gestolpert, die ich zuerst gar nicht bedacht habe….
Meine erste Idee war via SMS; nur bräuchte ich dazu einen SMS-Gateway, der meine Notifications weiterleitet, und diese sind nicht immer ganz billig leider. Auch eMail hatte ich bedacht, jedoch ist dies nicht gerade komfortabel, da diese nicht so schnell und nicht so offensichtlich auf dem iPhone erscheinen wie eine SMS.
Erst beim googeln bin ich auf die iPhone-Push-Benachrichtigung gestossen, welche jedes iPhone ja standardmässig integriert hat. Ich habe dabei zuerst Lösungen mit Mac-Server gefunden, und wollte die Idee auch schon abschreiben, als ich über den Dienst Prowl gestossen bin. Diese bieten eine API und ein Perl-Script an, welche eine Mitteilung von meinem Linux-Server über den Mac-Server von Prowl auf mein iPhone übertragen kann. Alles was ich dazu brauche ist die Prowl App aus dem App-Store.

Und das Einrichten ist auch gänzlich einfach.
Auf der Seite von Prowl muss ich mich registrieren und die passende App aus dem Store herunterladen.
Nun lade ich das Perl-Script von der Seite auf meine Server:

wget http://www.prowlapp.com/static/prowl.pl

Hier muss man daran denken, dass das Script für den Benutzer zugänglich sein muss, unter welchem auch das Nagios läuft!

Nun müssen noch die passenden Pakete installiert werden:

aptitude install libwww-perl libcrypt-ssleay-perl

Wenn nun alles funktioniert hat, so kann die erste Nachricht versandt werden:

./prowl.pl -apikey="ENTER_APIKEY" -application="Nagios" -event="Notification" -notification="Dies ist ein Test"

Klinget es auf dem Handy, so kann man das ganze noch in Nagios integrieren. Dazu wird ein neuer Kontakt angelegt unter /usr/local/nagios/etc/objects/contacts.cfg:

define contact {
        contact_name                    patrick_iphone
        alias                           Patrick
        service_notification_period     24x7
        host_notification_period        24x7
        service_notification_options    w,u,c,r,f,s
        host_notification_options       d,u,r,f,s
        service_notification_commands   notify-service-by-prowl
        host_notification_commands      notify-host-by-prowl
        _prowl_apikey                   ENTER_APIKEY
}

Dann muss noch die Gruppe ergänzt werden:

define contactgroup{
        contactgroup_name       admins
        alias                   Nagios Administrators
        members                 nagiosadmin, patrick_iphone
        }

Nun kann unter /usr/local/nagios/etc/objects/commands.cfg das oder die passenden Kommandos zugefügt werden:

# PROWL
define command {
        command_name    notify-host-by-prowl
        command_line    /usr/bin/perl -w /home/nagios/prowl.pl -apikey="$_CONTACTPROWL_APIKEY$" -priority=1 -application="$HOSTNAME$" -event="$HOSTSTATE$" -notification="$HOSTOUTPUT$"
}

define command {
        command_name    notify-service-by-prowl
        command_line    /usr/bin/perl -w /home/nagios/prowl.pl -apikey="$_CONTACTPROWL_APIKEY$" -priority=1 -application="$HOSTNAME$ $SERVICEDESC$" -event="$SERVICESTATE$" -notification="$SERVICEOUTPUT$"
}

Nun noch Nagios neu starten und schon werden alle Ausfälle oder sonstige Erinnerungen ans iPhone übermittelt.
Die API erlaubt es aktuell 1000 Mitteilungen pro Stunde zu versenden. Bezahlen tut man nur für die iPhone App, das Versenden von Mitteilungen ist gratis.

Vielen Dank an Julian für die Idee!

close
Immer informiert sein dank meines RSS Feeds.Oder folge mir via Twitter!

2 Gedanken zu „Notification von Nagios ans iPhone

  1. Julian

    Danke für die Erwähnung. Die Lösung ist wirklich praktisch und wenn das Notification Center von iOS 5 kommt, dürfte das ganze noch besser werden. Der einzige Nachteil zur SMS mit eigenem Gateway ist halt, dass man eine funktionierende Internetanbindung braucht. Also für die Überwachung von Firewallproblemen ist das ganze nicht wirklich geeignet. Dafür kostet es auch nix.

    Antworten
  2. Nikolaus

    Diese (und jede andere IP-basierte) Lösung hat einen großen Nachteil:
    wenn Du keine Internetverbindung hast, dann kriegst Du das nicht mal mit. Eine SMS hat aber gute Chancen anzukommen und das auch noch zeitnah. Meine Lösung:
    * ein Nokia 6230 oder vergl. (ca. 40-50€ bei Ebay)
    * dazu Nokia CA-70 Lade- und Datenkabel (ca 7€)
    * Prepaid SIM-Karte
    * gammu auf server mit eigenem SMS skript

    Fertig. …. und zuverlässig :)

    Antworten

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <b> <blockquote cite=""> <cite> <del datetime=""> <em> <i> <pre lang="" line="" escaped=""> <strong>