Eine SMS von Check MK mit Hilfe von gammu versenden

Um sich von der Monitoring Software Check MK per SMS alarmieren zu lassen, wird normalerweise smstools mit einem dazu passenden SMS-Modem empfohlen. Leider sind diese SMS-Modems nicht gerade preiswert. Deshalb habe ich nach einer anderen Lösung gesucht und habe sie in gammu und einem ausgedienten Sony-Ericson K750i/K750c gefunden.

Was ist also zu tun, um gammu mit Check MK zu verbinden. Dazu verbinde ich zu aller Erst das Mobiltelefon per USB mit dem Check MK Server und gebe lsusb ein. Wenn alles korrekt läuft, dann sollte das Mobiltelefon aufgelistet werden.

Im näschten Schritt kann gammu installiert werden.

apt-get update
apt-get install gammu

Um herauszubekommen, über welches device das Mobiltelefon erreichbar ist, gibt man gammu-detect ein. Die Auflistung, die jetzt erscheint sollte dann hilfreich sein.

Nun geht es darum die Konfigurationsdatei mit gammu-config zu erstellen.

Wer möchte kann dies auch per Editor tun. Dazu wird die Datei .gammurc im Verzeichnis /root bearbeitet. Bei mir sieht die .gammurc wie folgt aus:

[gammu]

port = /dev/ttyACM0
model =
connection = at
synchronizetime = yes
logfile =
logformat = nothing
use_locking =
gammuloc =

Nach erfolgreichem Editieren der Konfiguratonsdatei erfolgt mit gammu --identify ein erster Test.

Ist dieser positiv ausgefallen, dann kann man seine erste SMS verschicken:

echo "Hallo! Ich bin ein Gammu-Test." | gammu --sendsms TEXT Rufnummer

Wenn die Konfiguration als root funktioniert hat, geht es nun darum die Einstellung für den SiteUser von Check MK einzustellen. Dazu müssen erst mal ein paar Berechtigungen gesetzt werden:

usermod -aG dialout SiteUser
chmod 666 /dev/ttyACM0

Der SiteUser und das Device müssen auf die Gegebenheiten vor Ort angepasst werden.

Nun wechselt man mit su - SiteUser zur Eingabel als SiteUser.

Dort erstellt man mit gammu-config die gleiche Konfigurationsdatei.

Ist die Datei gespeichert kann der Befehl gammu --identify eingegeben werden.

Wenn dieser Test erfolgreich war, dann kann noch eine SMS als SiteUser verschickt werden:

echo "Hallo! Ich bin ein Gammu-Test." | gammu --sendsms TEXT Rufnummer

Wenn auch dieser Test erfolgreich war, dann muss die Datei gammu im Ordner
/opt/omd/ sites /local/share/check_mk/notifications
abgelegt werden.

Daraufhin muss nur noch die Berechtigung zum Ausführen per chmod vergeben werden. Der Rest der Konfiguration findet auf der Weboberfläche von Check MK statt.

Für alle Interessierten stelle ich dieses Python-Script hier als Testdatei zur Verfügung:

gammu.txt

Leider musste ich feststellen, dass die Berechtigung für das Device ttyACM0 vom System immer wieder Mal auf den Ursprungswert gesetzt wird. Um dieses Problem zu umgehen, habe ich in der crontab folgenden Eintrag hinterlegt:

0 0 * * * chmod 666 /dev/ttyACM0