Auf meinem Raspberry PI läuft Nagios als Monitoring für die Dienste auf meinen vServer. Damit werden Erreichbarkeit des Servers, der Mail-Dienste, etc.. überwacht. Aber auch ob das Backup täglich auf meine NAS zuhause übertragen wurde.

Üblicherweise lässt man sich per Email über die Nichtverfügbarkeit eines Dienstes benachrichtigen. Doch wie erhält man die Information dass der Mail-Server „down“ ist, wenn genau dieser Mail-Server nicht erreichbar ist? Auf einen externen Email-Dienstleister wollte ich bewusst nicht zurückgreifen. Also musste eine andere Lösung her, die ich hier beschreibe:

Glücklicherweise muss man nicht mehr viel Geld investieren, um sich ein einfaches SMS-Gateway zu basteln:

  • einen Raspberry PI (schon vorhanden, bzw. ~70 Euro mit Netzteil, Gehäuse + Platine)
  • ein Huawei USB UMTS-Modem (gibt es auf Ebay auch schon gebraucht ab ~10 Euro)
  • eine PrePaid SIM-Karte (je nach Tarif kostet eine SMS 6-20 Cent, man kommt also mit 5 Euro Guthaben schon recht weit)

Auf der Software-Seite kommen OpenSource-Tools zum Einsatz. Ich verwende gammu aus dem Distributions-Repository, welches auf Anhieb mit meinem USB-Modem (Huawei E169) funktioniert hat. Nach der Installation kann gammu mit dem Befehl gammu-config an die eigenen Bedürfnisse konfiguriert werden. In der Regel muss hier nicht viel angepasst werden, außer der Port-Information des UMTS Modems. Dieser lässt sich zuvor mit dem Befehl dmesg | grep ttyUSB herausfinden.

gammu-config

Mit dem Befehl gammu-identify lässt sich dann prüfen, ob gammu mit dem UMTS-Modem auch zusammen arbeitet und liefert (hoffentlich) ein paar Informationen darüber. Wenn bis hierher alles ohne Probleme geklappt hat, kann bereits das erste SMS gesendet werden:

1
echo "Hello SMS" | gammu sendsms TEXT 01234564879
echo "Hello SMS" | gammu sendsms TEXT 01234564879

Kurz darauf sollte das SMS bei der angegebenen Nummer ankommen.

 

7 Kommentare

  1. Vielen Dank für die Anleitung. Habe immer wieder überlegt ein SMS Gateway aufzubauen, da bei einem Mailserver oder Firewall Ausfall Nagios keine Möglichkeit hat mich zu benachrichtigen.

    Antworten

  2. Super! Vielen Dank! Hat auf anhieb funktioniert. Ich habe es mit dem Telekom SurfStick Basic probiert sauber geklappt.

    ADD: Ich wollte noch sagen, wenn auf der SIM Karte ein PIN drauf ist dann einfach gammu –entersecuritycode PIN 1234

    Antworten

  3. Hallo

    das kommt bei mir
    echo „Hello SMS“ | gammu sendsms TEXT +49******6 -smscnumber +491722270333
    If you want break, press Ctrl+C…
    Sending SMS 1/1….waiting for network answer..error 500, message reference=-1
    Unknown error.
    root@spy-raspi:/usr/lib/nagios/plugins# gammu -c /root/.gammurc -d textalldates -f /root/textsms sendsms text +49*****6
    Enter the message text and press Ctrl+D:
    testtetetetetIf you want break, press Ctrl+C…
    Sending SMS 1/1….waiting for network answer..error 500, message reference=-1
    Unknown error.

    meine .gammurc

    port = /dev/ttyUSB0
    model =
    connection = at19200
    synchronizetime = yes
    logfile =
    logformat = nothing
    use_locking = no
    gammuloc =
    PIN = ****
    LogFile = syslog
    InboxPath = /var/spool/sms/inbox/
    OutboPpath = /var/spool/sms/outbox/
    SentSMSPath = /var/spool/sms/sent/
    ErrorSMSPath = /var/spool/sms/error/

    Antworten

    • Hallo Nils,

      versuch mal, die Nummer ohne Ländervorwahl anzugeben.. also 017222…
      ansonsten das Log-File zu aktivieren, da kann man dann sicher mehr rauslesen.
      das Modem wird erkannt und die SIM-Karte ist „entsperrt“, ohne PIN 🙂 ?

      Grüsse
      martin

      Antworten

  4. Hallo

    habs versucht , gleicher fehler

    root@spy-raspi:/var/spool/sms# ldconfig
    root@spy-raspi:/var/spool/sms# echo „Hello SMS“ | gammu sendsms TEXT +49*****8 -smscnumber +491722270333
    If you want break, press Ctrl+C…
    Sending SMS 1/1….waiting for network answer..error 500, message reference=-1
    Unknown error.

    habe es mit 0152***** , 0049, +49 usw getestet.

    umts Huawei e303 umts stick, vodaphone

    dev/ttyUSB0 und usb2

    ich steh kurz vor herzinfarkt

    Antworten

  5. hier aus dem logfile

    [Connected]
    Checking used: UDH len 0, UsedBytes 0, FreeText 160, UsedText 0, FreeBytes 140
    Adding text
    Copy 160 (max 9)
    Defalt text, length 9 9
    Text added
    Checking at the end: UDH len 0, UsedBytes 8, FreeText 151, UsedText 9, FreeBytes 132
    9 9
    Entering GSM_SendSMS
    Trying SMS PDU mode
    1 „AT+CMGF=0“
    2 „OK“
    Checking line: OK
    AT reply state: 1
    SMS Submit
    Recipient number „0152******“
    SMSC number „+491722270333“
    SMS class -1
    SMS validity ff
    TPMR: 00 0
    7 bit SMS, length 8, 9
    Hello SMS
    Waiting for modem prompt
    1 „AT+CMGS=22“
    2 „> “
    Checking line: >
    AT reply state: 7
    Sending SMS
    Leaving GSM_SendSMS
    1 „AT+CMGS=22“
    2 „> 079194712272303311000C811025507336840000FF09C8329BFD064D9B53^Z“
    3 „+CMS ERROR: 500“
    Checking line: +CMS ERROR: 500
    AT reply state: 5
    Error 500
    Sent SMS on device: „/dev/ttyUSB0“
    CMS Error 500: „unknown error“
    [Terminating]
    [Closing]

    Antworten

  6. Was muss ich den bei Nagios noch Konfigurieren, damit ich die SMS bekommen?
    Währe nett, wenn mir da jemand helfen kann.

    Antworten

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

This site uses cookies. Find out more about this site’s impress.