Nagios SMS Versand per Handy
22. October 2007 von mirko
Um den SMS Versand von Nagios zu nutzen kann man recht einfach ein altes Nokia Handy nehmen. In meinem Beispiel ist es ein 6610. Im Web gibt es einige Hinweise und Anleitungen – leider funktionieren diese alle nur bis zu einer bestimmten Stelle. Denn unter Ubuntu ist es zusätzlich noch nötig den nagios User der Gruppe dialout hinzuzufügen, damit Nagios auch SMS senden kann. Aber der Reihe nach:
Zuerst müsst Ihr natürlich gnokii installieren und den Server mittels eines Datenkabels mit dem Handy verbinden. Die Konfiguration mittels gnokiirc unter /etc dürfte kein Problem darstellen. Danach am besten ein paar SMS als Test an euch selbst verschicken um zu prüfen ob die gnokii Anbindung auch funktioniert. Sollte dies der Fall sein könnt Ihr mit der Nagios Anbindung an gnokii weiter machen.
Jetzt wird das nötige Nagios Script angelegt:
/usr/lib/nagios/plugins/sms_notification_by_gnokii:
#!/bin/sh
#
# Gnokii Plugin script
# (c) Horst venzke
# v 0.1 - 17.01.2004
mess=$2
number=$1
echo "${mess}" | gnokii --sendsms ${number}
So, dann dieses noch ausführbar machen für den nagios User:
chown nagios.nagios /usr/lib/nagios/plugins/sms_notification_by_gnokiichmod ug+rwx /usr/lib/nagios/plugins/sms_notification_by_gnokii
Jetzt wird das passende Kommando für Nagios definiert, bei mir in der checkcommands.cfg. Dies kann aber auch mal eine andere Datei sein.
define command {command_name service-notify-by-gnokiicommand_line $USER1$/sms_notification_by_gnokii $CONTACTPAGER$ "$NOTIFICATIONTYPE$ - $HOSTNAME$/$SERVICEDESC$ is $SERVICESTATE$ - $SERVICEOUTPUT$"}define command {command_name host-notify-by-gnokiicommand_line $USER1$/sms_notification_by_gnokii $CONTACTPAGER$ "Nagios Host Alert - $HOSTALIAS$ is $HOSTSTATE$; $OUTPUT$; $DATETIME$"}
Die beiden command_line’s bitte in eine Zeile schreiben, sind hier nur aus Platzgründen umgebrochen.
So, und nun das passende Kommando den jeweiligen Kontakten zuorden, meist in der /etc/nagios/contacts.cfg
define contact{contact_name contact_smsalias Mirko Hufnagelservice_notification_period 24x7host_notification_period 24x7service_notification_options w,u,c,rhost_notification_options d,u,rservice_notification_commands notify-by-email,service-notify-by-gnokiihost_notification_commands host-notify-by-email,host-notify-by-gnokiiemail bla@blub.de,spam@devnull.depager (Hier eure Handy Nummer rein)}
Jetzt noch – wie bereits angedeutet – nagios erlauben die SMS zu schicken. Dazu müsst Ihr nagios in die Gruppen gnokii und dialout setzen. Dazu bearbeitet Ihr einfach die /etc/group Datei. Danach wird nagios neu gestartet – fertig.
If you have any questions, suggestions or translation problems feel free to send a message:
Hi Mirko
soweit so gut dein Howto funktionierte hier auf meinem Ubuntu 9.04 leider nicht. Ich musste dein Shellscript etwas abändern bis es lief:
echo “${mess}” | gnokii –sendsms ${number}
Bei mir ging es erst nach dem ich die Anführungszeichen eingefügt habe. Klappt das bei dir auch ohne oder hast du die nur vergessen?
Ansonsten danke für deine Mühe.
Mfg Thomas
Hallo Thomas,
mmmm kann ich ehrlich gesagt gerade gar nicht sagen. Ich benutze das Script ja so nicht mehr sondern (wie in meinem zweiten Nagios/SMS Posting beschrieben) erledige den Versand über eine MySQL Datenbank. Kann also gut sein das in neueren Versionen das Script nur noch mit Anführungszeichen funktioniert. Ich hab’s auf jeden Fall mal geändert. Danke also.