Nagios SMS-Benachrichtigungen: Unterschied zwischen den Versionen
Flo84 (Diskussion | Beiträge) |
Flo84 (Diskussion | Beiträge) |
||
(Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt) | |||
Zeile 68: | Zeile 68: | ||
== Nagios == | == Nagios == | ||
− | Sollte der SMS-Versand klappen, ist es nur noch ein kleiner Schritt zum Erfolg: | + | Sollte der SMS-Versand klappen, ist es nur noch ein kleiner Schritt zum Erfolg. Lege in Nagios am Besten für den SMS-Versand separate Kontakte an und nimm die Kontakte in eine Gruppe "sms-user" auf - die Handynummer hab ich übrigens bei der Mail-Adresse des Kontaktes eingetragen... Erstelle neue Befehle / Commands (notify-host-by-sms und notify-service-by-sms), die wie folgt aussehen: |
− | + | /usr/bin/sendsms '$CONTACTEMAIL$' "Nagios $NOTIFICATIONTYPE$ Host $HOSTNAME$, $HOSTSTATE$ since $SHORTDATETIME$: $HOSTOUTPUT$" | |
+ | |||
+ | bzw. für den Service | ||
+ | |||
+ | /usr/bin/sendsms '$CONTACTEMAIL$' "Nagios $NOTIFICATIONTYPE$ Service $SERVICEDESC$ ($HOSTNAME$), $SERVICESTATE$ since $SHORTDATETIME$: $SERVICEOUTPUT$" | ||
+ | |||
+ | Weiße nun den vorher erstellen Kontakten diese zwei Befehle als Host- bzw. Service-Benachrichtigung zu. Ist das erledigt, navigiere zum Host bzw. zum Service, der per SMS überwacht werden soll und gib die Kontaktgruppe "sms-user" als Benachrichtigungsgruppe an - Nagios neu starten, fertig. | ||
== Nützliche Links == | == Nützliche Links == | ||
Zeile 76: | Zeile 82: | ||
* [http://smstools3.kekekasvi.com/ Die smstools auf kekekasvi.com] | * [http://smstools3.kekekasvi.com/ Die smstools auf kekekasvi.com] | ||
− | [[Kategorie: | + | [[Kategorie:Monitoring]] |
Aktuelle Version vom 2. Oktober 2012, 11:45 Uhr
Inhaltsverzeichnis
Vorwort[Bearbeiten]
Um Nagios für den SMS-Versand zu konfigurieren, benötigt man
- Ein Handy mit entsprechendem SMS-Tarif (ich empfehle das Samsung B2100, hat man gleich eine Taschenlampe mit dabei ^^)
- Die smstools
- Eventuell Gnokii (Tool zum Kommunizieren mit Mobiltelefonen; sollte /dev/ttyACM0 nicht nach dem Anstecken des Telefons gefunden werden, installieren!)
Hat man das alles, kann's losgehen!
Installation[Bearbeiten]
Unter Debian lässt sich der SMS-Server sehr leicht installieren:
apt-get install smstools
Was auffällig ist: das Script sendsms ist bei dem Paket nicht dabei, daher am Besten noch von der Hersteller-Seite das TAR.GZ-File runterladen, entpacken und hier gibt es das Bash-Script, einfach nach /usr/bin oder so kopieren und mit chmod ausführbar machen.
Der nächste Schritt besteht darin, die Datei /etc/smsd.conf zu editieren. Bei mir habe ich folgendes eingetragen:
devices = GSM1 outgoing = /var/spool/sms/outgoing checked = /var/spool/sms/checked incoming = /var/spool/sms/incoming logfile = /var/log/smstools/smsd.log infofile = /var/run/smstools/smsd.working pidfile = /var/run/smstools/smsd.pid outgoing = /var/spool/sms/outgoing checked = /var/spool/sms/checked failed = /var/spool/sms/failed incoming = /var/spool/sms/incoming sent = /var/spool/sms/sent stats = /var/log/smstools/smsd_stats loglevel = 7 [GSM1] device = /dev/serial/by-id/usb-Samsung_SAMSUNG_Mobile_USB_Modem_000000-00-000000-if01 rtscts = no incoming = no message_limit=15 message_count_clear=30
message_limit legt fest, wieviele SMS innerhalb message_count_clear (in Minuten) verschickt werden können. Im Beispiel sind das 15 SMS innerhalb 30 Minuten. Dadurch soll ein "Spamen" und die Handykosten reduziert werden.
Kurz auch noch den Parameter device erklärt: mir ist aufgefallen, dass beim Entfernen des Samsung Gerätes und beim Neuanstecken automatisch von /dev/ttyACM0 auf /dev/ttyACM1 geändert wird. Das hat zur Auswirkung, dass der Parameter in der Konfig-Datei geändert werden müsste. Da
/dev/serial/by-id/usb-Samsung_SAMSUNG_Mobile_USB_Modem_000000-00-000000-if01
ein Softlink auf das entsprechende Device (ttyACM0, ttyACM1 etc.) ist und immer gleich lautet, macht es natürlich Sinn, den Parameter wie bei mir beschrieben zu ändern. Dann Dienst neu starten
/etc/init.d/smsd restart
und eine Test-SMS senden
/usr/bin/sendsms +49123456789 "Test-Text"
Wichtig: es muss unbedingt die Landesvorwahl (+49 für Deutschland) angegeben werden, sonst wird in
/var/log/smstools/smsd.log
ein Fehler protokolliert:
+CMS ERROR: 21 (Short message transfer rejected)
Die genannte Log-Datei ist für Troubleshooting übrigens die richtige Anlaufstelle. Mit Nokia-Handys (6230i etc.) hatte ich Probleme, ich konnte einfach keine SMS versenden, das Samsung-Gerät funktionierte auf Anhieb.
Wichtige Einstellung am Samsung-Handy: beim Anstecken frägt das Gerät per Standard nach, ob es am Samsung PC Studio, als Media Player oder Massenspeicher verwendet werden soll. Es wäre doof, jedes mal, wenn das Telefon neu angestöpselt wird / wenn die Verbindung mal kurz zum Server unterbrochen wurde, diese Eingabe zu bestätigen. In den Handy-Einstellungen gibt es einen Punkt Verbindungen, hier kann man fix Samsung PC Studio einrichten.
Nagios[Bearbeiten]
Sollte der SMS-Versand klappen, ist es nur noch ein kleiner Schritt zum Erfolg. Lege in Nagios am Besten für den SMS-Versand separate Kontakte an und nimm die Kontakte in eine Gruppe "sms-user" auf - die Handynummer hab ich übrigens bei der Mail-Adresse des Kontaktes eingetragen... Erstelle neue Befehle / Commands (notify-host-by-sms und notify-service-by-sms), die wie folgt aussehen:
/usr/bin/sendsms '$CONTACTEMAIL$' "Nagios $NOTIFICATIONTYPE$ Host $HOSTNAME$, $HOSTSTATE$ since $SHORTDATETIME$: $HOSTOUTPUT$"
bzw. für den Service
/usr/bin/sendsms '$CONTACTEMAIL$' "Nagios $NOTIFICATIONTYPE$ Service $SERVICEDESC$ ($HOSTNAME$), $SERVICESTATE$ since $SHORTDATETIME$: $SERVICEOUTPUT$"
Weiße nun den vorher erstellen Kontakten diese zwei Befehle als Host- bzw. Service-Benachrichtigung zu. Ist das erledigt, navigiere zum Host bzw. zum Service, der per SMS überwacht werden soll und gib die Kontaktgruppe "sms-user" als Benachrichtigungsgruppe an - Nagios neu starten, fertig.