Esendex SMS und Voice-Calls

SMS und Telefonanrufe per HTTP-API auslösen

Der Dienstleister Esendex bietet einen Internetdienst an, über den Sie SMS verschicken können. Außerdem können Sie Telefonanrufe auslösen. Eine sogenannte Text-to-Speach-Engine wandelt Text in gesprochene Worte um und liest diese dem Angerufenen vor. Der Angerufene muss per Tastendruck bestätigen, dass er oder sie die Nachricht gehört hat. Nicht bestätigte Anrufe können automatisch beliebig oft erneut getätigt werden. Über den Erhalt von SMS und Sprachnachrichten wird Protokoll geführt. Stand 15.06.2015 kosten Anrufe und SMS 8,5 Cent per Prepaid-Bezahlung. Zum Testen gibt es 25 SMS oder Anrufe gratis.

Alle Funktionen von Esendex können Sie über eine simple HTTP-API fernsteuern. Esendex eignet sich folglich hervorragend als Kommunikationsmedium für Zabbix. Sie können nicht nur Kurznachrichten schicken, sondern auch Telefonanrufe auslösen, bei denen sichergestellt ist, dass diese nicht auf Mailboxen landen.

Laden Sie sich das Skript esendex_api.php.txt herunter und speichern Sie es im Ordner für Alert-Skripte unter dem Dateinamen esendex_api.php. Machen Sie das Skript mit dem Befehl chmod 755 ausführbar. Standardmäßig ist dies /usr/lib/zabbix/alertscripts. Sollte dies Ihr erstes Alarmierungsskript sein, prüfen Sie in der Datei /etc/zabbix/zabbix_server.conf den Parameter AlertScriptsPath.

Öffnen Sie das Skript mit einem Editor und tragen Sie in den ersten Zeilen Ihre Zugangsdaten von Esendex ein. Benutzername und Kennwort sind identisch mit den Zugangsdaten zum Esendex-Webportal. Ihre Kontonummer ($account) finden Sie unter„Ihre aktiven Konten“ auf der Home-Seite für angemeldete Kunden.

Eintragen der Esendex-Zugangsdaten

Nachdem Sie alle Zugangsdaten eingetragen haben, testen Sie ein erstes Login zur API, indem Sie Ihren Kontostand abfragen:

./esendex_api.php --get-creditbalance

Wenn der Test erfolgreich war und Sie ein Guthaben größer Null haben, können Sie nun die erste SMS verschicken:

./esendex_api.php <EMPFÄNGER_NUMMER> "Ein Text"

Wenn auch dieser Test erfolgreich war, legen Sie zwei symbolische Links an:

ln -s esendex_api.php voicecall
ln -s esendex_api.php send_sms

Diese beiden Links sind notwendig, damit Sie mit einem Skript sowohl SMS schicken als auch Telefonanrufe auslösen können. Der Zabbix-Server kann einem Alert-Skript außer der Empfängernummer und dem Nachrichtentext keine weiteren Parameter übergeben. Das Skript kann aber erkennen, über welchen Namen es aufgerufen wird. Testen Sie es:

./voiceall <EMPFÄNGER_NUMMER> "Hallo hier spricht dein Monitoring-System"

Wenn Sie oder später der Zabbix-Server das Skript über den symbolischen Link voicecall aufrufen, wird der Call-Type auf Voice gesetzt.

Medien in Zabbix einrichten

Über den Menüpunkt Administration|Mediatypes legen Sie zwei neue Medientypen vom Typ „Script“ an:

  • Voicecall (Esendex), Skriptname voicecall
  • SMS (Esendex), Skriptname send_sms
Einbinden der Esendex-Skripte als Medien

Nun können Sie beim Erstellen von Aktionen die neuen Medientypen verwenden. In der Benutzerverwaltung stehen die Medien nun ebenfalls zur Auswahl.