SMS Benachrichtigungen mit Icinga und Braintower SMS Gateway S Advanced

Aus Thomas-Krenn-Wiki
Wechseln zu: Navigation, Suche
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

Braintower SMS Gateway S Advanced für den SMS Versand (Bildquelle: shop.netways.de)
Um eine SMS-Benachrichtigung über das SMS Gateway S Advanced einrichten zu können müssen folgende Voraussetzungen erfüllt werden:

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


Foto Thomas Niedermeier.jpg

Autor: Thomas Niedermeier

Thomas Niedermeier, Abteilung Communications / Knowledge Transfer bei Thomas-Krenn, absolvierte an der Hochschule Deggendorf sein Studium zum Bachelor Wirtschaftsinformatik. Seit 2013 ist Thomas bei Thomas-Krenn beschäftigt und kümmert sich hier vor allem um das TKwiki. Er ist ein begeisterungsfähiger, technisch interessierter Linux und Mac Nutzer, fährt im Winter gerne Ski und geht im Sommer gern ins Schwimmbad.


Das könnte Sie auch interessieren

Icinga 2 NRPE Plugin
Icinga Graphen mit PNP unter Debian 6.0 Squeeze
Icinga Web 2 mit Icinga 1.x verwenden