Zabbix SMS verschicken

Scriptpath setzen

In der Konfigurationsdatei des Servers zabbxi_server.conf müssen Sie die Option „AlertScriptsPath“ setzen. Geben Sie ein Verzeichnis an, in welchem sich Skripte befinden, die Alarme auslösen:

### Option: AlertScriptsPath
#       Location of custom alert scripts
#
# Mandatory: no
# Default:
AlertScriptsPath=/usr/lib/zabbix/alertscripts

Skripte als Medium einbinden

Über das Webfrontend können Sie Skripte zum Alarmieren über den Menüpunkt Administration->Media einbinden. Geben Sie nur den Skriptnamen, nicht den vollen Pfad an. Der volle Pfad wird automatisch aus dem Skriptnamen und der Variable „AlertScriptsPath“ gebildet.

Den Skripten wird als erster Parameter der Wert des Feldes „Send to“ übergeben, den ein Benutzer für das jeweilige Medium hinterlegt hat. Im Feld „Send To“ tragen die Benutzer in der Regel Telefonnummern ein. Als zweiter Parameter wird der in der Aktion konfigurierte Betreff übergeben, in der Regel der Name des Triggers und des Hosts. Den dritten Parameter -der Nachrichtentext- wird in den Beispielen für den SMS-Versand nicht verwendet. Die SMS besteht nur aus einem Betreff.

Hinzufügen eines Alarmskriptes

SMS per Sipgate HTTP-API senden

Sipgate bietet die Möglichkeit, per API für momentan 7,9 Eurocent eine SMS zu versenden. Alles, was Sie brauchen, ist ein Sipgate-Account und Guthaben auf Ihrem Kundenkonto.

Perl-Client für Sipgate-Basic

  • Laden Sie das Beispiel-Skript für einen Sipgate-SMS-Client sipgateapi-sms.pl für Perl bei Sipgate.de herunter.
  • Entpacken Sie die Datei, so dass sipgateAPI-sms.pl zum Beispiel in /opt/zabbix/bin/ liegt.
  • Installieren Sie die benötigten Perl-Module:
apt-get install libfrontier-rpc-perl
yum install perl-Frontier-RPC-Client perl-LWP-Protocol-https # Verlangt EPEL Repository
  • Testen Sie den Versand einer SMS auf der Kommandozeile. Ersetzen Sie USERNAME mit Ihrem Sipgate-Benutzernamen (nicht die Sip-ID). Ersetzen Sie PASSWORD mit dem Passwort, mit dem Sie sich auf der Sipgate-Webseite anmelden:
[root@vm173 ~]# ./sipgateAPI-sms.pl USERNAME geheim 49175XXXXXXXX "Test"
Successfully identified to the server!
Your request was successfully send to the server!
  • Nutzen Sie folgendes Wrapper-Skript, welches Sie zum Beispiel als Datei sipgate_sms.sh speichern:
#!/bin/bash
LOG=/tmp/sms.log
NUM=$1
MSG=$(echo $2|cut -b -160)
echo "$(date) -- Sending $MSG to $NUM">>$LOG
/opt/zabbix/bin/sipgateAPI-sms.pl USERNAME PASSWORD $NUM "$MSG">>$LOG

Testen Sie das Skript und achten Sie auf die korrekte Formatierung der Rufnummer.

./sipgate_sms.sh 491751234567 test

Wenn die Test-SMS erfolgreich versandt wurde, können die Benutzer nun angeben, wann und an welche Nummer die SMS verschickt werden soll.

PHP Sipgate-Client für Basic- und Team-Accounts

Wer Sipgate-Team verwendet oder lieber PHP als Perl verwenden möchte, kann sich das Beispiel-Skript sipgate-sms.php herunterladen und in den Ordner für Alarmierungsskripte speichern. Fügen Sie Ihren Benutzernamen und ein Passwort ein. Wählen Sie außerdem aus, ob Sie Sipgate-Team oder Sipgate-Basic verwenden. Machen Sie das Skript mit dem Kommando chmod +x sipgate-sms.php ausführbar und schicken Sie testweise die erste SMS mit ./sipgate-sms.php 491717000000 "eine Nachricht".

Konfiguration des Sipgate-SMS-Clients
Sofern Sie keine automatische Aufladung Ihres Guthabens eingestellt haben, sollten Sie mit Zabbix auch Ihr Sipgate-Guthaben überwachen, damit Sie frühzeitig ans Aufladen erinnert werden. Das PHP-Skript können Sie mit der Option sipgate-sms.php --get-balance aufrufen. Richten Sie sich im Zabbix-Agenten des Zabbix-Servers einen User-Parameter, ein Item und einen Trigger ein, so dass zum Beispiel alle zwei Stunden das Guthaben geprüft wird.
SMS-Alarmierung in der Benutzerverwaltung aktivieren