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. |

