Dieser 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!

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.
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