SMS Benachrichtigungen mit Icinga und Braintower SMS Gateway S Advanced
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 das Braintower SMS Gateway S Advanced versenden. In diesem Beispiel verwenden wir Ubuntu 12.04 LTS mit TKmon 1.5.3 und Icinga 1.11.4.
Voraussetzungen
Um eine SMS-Benachrichtigung über das SMS Gateway S Advanced einrichten zu können müssen folgende Voraussetzungen erfüllt werden:
- Installiertes und konfiguriertes Icinga, Nagios oder TKmon mit Icinga
- Installiertes und konfiguriertes Braintower SMS Gateway S Advanced
sendsms.pl Konfiguration
Die Kommunikation vom Icinga System zum SMS Gateway erfolgt über ein Perl Skript das im Nachfolgenden konfiguriert wird:
sendsms.pl herunterladen und konfigurieren
Das sendsms Skript lässt sich von der Weboberfläche des Gateways herunterladen. Danach wird es am Icinga System in den Ordner /usr/local/bin/ verschoben. Weiterhin müssen per sudo vi /usr/local/bin/sendsms.pl
im Bereich "Config" des Skriptes noch folgende Parameter ausgefüllt werden:
########### Config ####################### my $smsgw_username = "<username>"; my $smsgw_password = "<password>"; my $smsgw_host = "<IP des SMS Gateways>"; my $smsgw_sendsms_path = "/api.php"; //Standardwert my $smsgw_sendsms_port = "80"; //Standardwert ##########################################
Perl Installation
Überprüfen ob Perl installiert ist, wenn nicht muss es nachinstalliert werden.
dpkg -l perl
Gewünscht=Unbekannt/Installieren/R=Entfernen/P=Vollständig Löschen/Halten | Status=Nicht/Installiert/Config/U=Entpackt/halb konFiguriert/ Halb installiert/Trigger erWartet/Trigger anhängig |/ Fehler?=(kein)/R=Neuinstallation notwendig (Status, Fehler: GROSS=schlecht) ||/ Name Version Beschreibung +++-==============-==============-============================================ ii perl 5.14.2-6ubuntu Larry Wall's Practical Extraction and Report
Falls Perl nicht installiert ist:
sudo apt-get install perl
Perl Module
Das sendsms Skript erforder die Perl Module LWP::UserAgent; URI::Escape; und Text::Iconv;.
Unter Ubuntu können diese mit folgendem Kommando installiert werden:
sudo apt-get install liblwp-useragent-determined-perl
Skript ausführbar machen und testen
Das Skript wird mittels folgendem Befehl chmod +x sendsms.pl
ausführbar gemacht.
Abschließend kann die Ausführbarkeit des Skriptes noch getestet werden:
tkmon@tkmontest:~$ perl /usr/local/bin/sendsms.pl ERROR: No mobile number given as ARGV[0] at /usr/local/bin/sendsms.pl line 26.
Icinga Konfiguration
Nach der erfolgten Konfiguration des Skriptes erfolgt die Konfiguration von Icinga.
commands.cfg
Man wechselt in den Ordner /etc/icinga/ und öffnet die commands.cfg.
In dieser Datei werden die beiden Kommandos angefügt:
# Host notfiy by SMS define command { command_name notify-host-by-sms command_line /usr/local/bin/sendsms.pl $CONTACTPAGER$ "$NOTIFICATIONTYPE$ - Host $HOSTALIAS$ is $HOSTSTATE$ since $SHORTDATETIME$ info: $HOSTOUTPUT$" } # Service notify by SMS define command { command_name notify-service-by-sms command_line /usr/local/bin/sendsms.pl $CONTACTPAGER$ "$NOTIFICATIONTYPE$ - $SERVICEDESC$ on $HOSTNAME$ state: $SERVICESTATE$ since $SHORTDATETIME$ info: $SERVICEOUTPUT$" }
contacts.cfg
Im Ordner /etc/icinga/objects/ befindet sich das File contacts.cfg. Falls es nicht vorhanden ist muss es neu angelegt werden.
In dieser Datei muss nun ein Kontakt definiert werden:
define contact { contact_name <Name_ohne_Leerzeichen> alias <Name> host_notification_period 24x7 service_notification_period 24x7 host_notification_options d,u,r service_notification_options u,c,r pager <Mobiltelefonnummer mit Landesvorwahl z.B. 0049160000001> host_notification_commands notify-host-by-sms service_notification_commands notify-service-by-sms }
Icinga neustarten
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
Autor: Thomas Niedermeier Thomas Niedermeier arbeitet im Product Management Team von Thomas-Krenn. Er absolvierte an der Hochschule Deggendorf sein Studium zum Bachelor Wirtschaftsinformatik. Seit 2013 ist Thomas bei Thomas-Krenn beschäftigt und kümmert sich unter anderem um OPNsense Firewalls, das Thomas-Krenn-Wiki und Firmware Sicherheitsupdates. |