SMS Benachrichtigungen mit Icinga
Hinweis: Bitte beachten Sie, dass dieser Artikel / diese Kategorie sich entweder auf ältere Software/Hardware Komponenten bezieht oder aus sonstigen Gründen nicht mehr gewartet wird. Diese Seite wird nicht mehr aktualisiert und ist rein zu Referenzzwecken noch hier im Archiv abrufbar. |
---|
Dieser Artikel zeigt wie Sie mit Icinga SMS-Benachrichtigungen über ein angeschlossenes Modem versenden. Als Beispiel wird ein Low Energy Server mit TKmon mit einem CEP CT63 Modem und den SMS Server Tools um den SMS Versand erweitert.
Wichtiger Hinweis
Die Monitoring-Software TKmon wird nicht mehr weiterentwickelt.
Voraussetzungen
Um eine SMS-Benachrichtigung einrichten zu können müssen folgende Vorraussetzungen erfüllt sein:
- Installiertes und konfiguriertes Icinga, Nagios oder TKmon mit Icinga
- Installiertes und konfiguriertes Modem (z.B. CEP CT63 Modem)
- Installierte und konfigurierte SMS Server Tools
Konfiguration
Die folgende Konfiguration wurde unter Ubuntu 12.04 LTS mit TKmon 1.5.3 und den smstools 3.1.14 aus den Ubuntu Paketquellen getestet. Es ist zu beachten, dass sich verschiedene Teile der Konfiguration durch die Verwendung von TKmon zu einer "normalen" Icinga Installation unterscheiden (z.B. contactgroups
).
Die hier gezeigte Konfiguration ist so abgestimmt, dass weiterhin die Webobefläche von TKmon verwendet werden kann. Es ist zu beachten, dass nach den Änderungen an der Konfiguration, SMS immer dann verschickt werden, wenn auch ein E-Mail verschickt wird (es ist bei Verwendung von TKmon nicht möglich nur für einzelne Services SMS-Benachrichtigungen zu erhalten).
Benachrichtigungs-Befehl erstellen
Um die Benachrichtigung per SMS zu ermöglichen müssen zuerst die entsprechenden Kommandos in der Icinga Konfiguration hinterlegt werden.
sudo vi /etc/icinga/commands.cfg
In dieser Datei befinden sich bereits vordefinierte Kommandos, wir fügen zwei weitere hinzu:
[...] # 'notify-service-by-sms' command definition define command{ command_name notify-service-by-sms command_line /usr/bin/printf 'To: $CONTACTPAGER$\n\n$SHORTDATETIME$ $NOTIFICATIONTYPE$\nHost: $HOSTALIAS$\nService: $SERVICEDESC$\nState: $SERVICESTATE$\nInfo: $SERVICEOUTPUT$' > /var/spool/sms/outgoing/`date +%Y%m%d-%Hh-%Mm-%Ss-%Nns` } # 'notify-host-by-sms' command definition define command{ command_name notify-host-by-sms command_line /usr/bin/printf 'To: $CONTACTPAGER$\n\n$SHORTDATETIME$ $NOTIFICATIONTYPE$\nHost: $HOSTNAME$\nAddress:$HOSTADDRESS$\nState: $HOSTSTATE$\nInfo: $HOSTOUTPUT$' > /var/spool/sms/outgoing/`date +%Y%m%d-%Hh-%Mm-%Ss-%Nns` } [...]
Damit Icinga die Kommandos ausführen kann muss der User nagios noch zur Gruppe smsd hinzugefügt werden:
sudo usermod -aG smsd nagios
User anlegen
Im zweiten Schritt müssen die User angelegt werden, die SMS-Benachrichtigungen erhalten sollen. Es können beliebig viele Benutzer angelegt werden. Die User werden in einer neuen Datei im Icinga Verzeichnis angelegt:
sudo vi /etc/icinga/objects/sms_contacts.cfg
In dieser Datei werden nun die User wie folgt angelegt. Bitte beachten Sie, dass die Pagernummer als Ziel für die Benachrichtigungs-SMS verwendet wird. Die Nummer wird in internationalem Format (inkl. Ländervorwahl) ohne führendem "+" angegeben.
define contact { contact_name thomas_mueller_sms alias Thomas Mueller pager 49123456789 use generic-contact service_notification_commands notify-service-by-sms host_notification_commands notify-host-by-sms contactgroups tkmon-admin } define contact { contact_name hubert_meier_sms alias Hubert Meier pager 49987654321 use generic-contact service_notification_commands notify-service-by-sms host_notification_commands notify-host-by-sms contactgroups tkmon-admin }
Damit Icinga die User aus der neu erstellten Datei liest muss der Dateipfad in die Icinga-Konfiguration aufgenommen werden:
sudo vi /etc/icinga/icinga.cfg
[...] # SMS User cfg_file=/etc/icinga/objects/sms_contacts.cfg [...]
Damit Icinga die neue Konfiguration übernimmt muss der Dienst neugestartet werden. Das kann entweder über die TKmon Weboberfläche oder mittels folgendem Befehl geschehen.
sudo service icinga reload
Bitte beachten Sie, dass die neu hinzugefügten User nicht in der TKmon Weboberfläche sichtbar sind. In der Icinga Weboberfläche allerdings schon (View Config -> Contacts).
Testen
Um eine Testbenachrichtigung zu versenden können Sie in der Icinga Weboberfläche in der Übersichtsseite des gewünschten Services oder Hosts unter Service Commands -> Send custom service notification eine Icinga Testbenachrichtigung anstoßen. Das Event-Log gibt Aufschluss über eventuelle Fehler.
Die gesendeten SMS finden Sie im Ordner /var/spool/sms/sent
:
ls -l /var/spool/sms/sent
-rw-r--r-- 1 smsd smsd 182 Jul 22 08:33 20140722-08h-33m-07s-074858556ns -rw-r--r-- 1 smsd smsd 182 Jul 22 08:33 20140722-08h-33m-07s-096055451ns -rw-r--r-- 1 smsd smsd 178 Jul 22 08:33 20140722-08h-33m-31s-368138313ns -rw-r--r-- 1 smsd smsd 178 Jul 22 08:33 20140722-08h-33m-31s-389053324ns -rw-r--r-- 1 smsd smsd 178 Jul 22 08:35 20140722-08h-35m-10s-123407518ns -rw-r--r-- 1 smsd smsd 178 Jul 22 08:35 20140722-08h-35m-10s-144384509ns -rw-r--r-- 1 smsd smsd 151 Jul 22 08:47 20140722-08h-46m-56s-194716783ns -rw-r--r-- 1 smsd smsd 151 Jul 22 08:47 20140722-08h-46m-56s-217502476ns -rw-r--r-- 1 smsd smsd 236 Jul 22 08:57 20140722-08h-57m-41s-168177438ns -rw-r--r-- 1 smsd smsd 236 Jul 22 08:58 20140722-08h-57m-41s-191322103ns
Autor: Stefan Lengauer Stefan Lengauer, tätig im Bereich Web Operations & Knowledge Transfer bei Thomas-Krenn, absolviert derzeit sein Masterstudium für Sichere Informationssysteme am Campus Hagenberg der Fachhochschule Oberösterreich.
|