Benutzer-Werkzeuge

Webseiten-Werkzeuge


sms-alarmierung_mit_yaps

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

sms-alarmierung_mit_yaps [2015/05/31 13:36] (aktuell)
admin angelegt
Zeile 1: Zeile 1:
 +====== SMS-Alarmierung mit YAPS ======
  
 +==== YAPS Installation ISDN ====
 +YAPS ist ein Tool zum Versenden von SMS über Modem bzw. eine ISDN-Karte. ​
 +
 +Als ISDN-Karte empfiehlt sich:
 +  * AVM Fritz!PCI v2.0 ISDN (rev 02) 
 +
 +Damit eine ISDN-Karte auch funktioniert,​ muss noch das Paket "​isdnutils"​ installiert werden.
 +  apt-get install isdnutils
 +**//
 +Wichtig!!! ​
 +Durch die Installation des Paketes isdnutils wird die "​default route" auf die ISDN-Karte konfiguriert. Um dies zu korrigieren,​ bitte wie im Artikel [[Isdnutils]] beschrieben vorgehen.//​**
 +
 +\\
 +Das Tool ''​yaps''​ ist im Downloadbereich unter: http://​www.jbackes.de/​downloads/​yaps/​yaps-0.96.tar.gz zu finden.
 +Hier liegt auch ein bereit kompiliertes yaps-Binary http://​www.jbackes.de/​downloads/​yaps/​yaps. ​
 +
 +Sollte dies nicht funktionieren,​ kann über das tar.gz wie folgt neu kompiliert werden.
 +  make depend
 +  make
 +  make install
 +
 +Die Binär-Datei '''​yaps'''​ wird nach /usr/sbin/ kopiert.
 +  cp yaps /usr/sbin
 +
 +Seine Konfiguration holt YAPS aus der Datei ''/​etc/​yaps.rc''​. Eine vorkonfigurierte yaps.rc gibt es ebenfalls im Downloadbereich unter: http://​www.jbackes.de/​downloads/​yaps/​yaps.rc ​
 +  cp yaps.rc /etc/
 +
 +\\
 +
 +Außerdem muss der User "​nagios"​ in der Gruppe "​dialout"​ sein, damit er auch auf das ISDN-Interface zugreifen darf.
 +  adduser nagios dialout
 +
 +''​ Wichtig:<​BR>​
 +Ab Ubuntu Version 9.10 funktioniert der oben beschriebene Weg nicht mehr. Aus noch ungeklärten Gründen lässt sich zwar die SMS versenden, yaps bleibt aber beim "​hangup"​ stehen, so dass das Interface gesperrt ist und keine weitere SMS mehr versendet werden kann. 
 +Als "​workaround"​ kann mit den CAPI-Treibern gearbeitet werden.''​
 +
 +====  YAPS Installation CAPI-Treiber ====
 +Um die Fritzcard über CAPI mit YAPS ansprechen zu können, müssen folgende Pakete installiert werden:
 +  * capiutils
 +  * build-essential (damit kompiliert werden kann)
 +  * linux-headers-<​kernel-version>​
 +
 +  apt-get install capiutils build-essential linux-headers-2.6.32-24-generic
 +
 +Mit den capiutils wird eine Modul-Blacklist erzeugt, welche verhindert, dass die hisax-Treiber geladen werden. Zusätzlich muss hier noch der Eintrag ''​blacklist avmfritz''​ hinzugefügt werden. <​BR>​Die ''/​etc/​modprobe.d/​blacklist-capiutils.conf''​ hat somit folgenden Inhalt:
 +
 +  blacklist hisax
 +  blacklist hisax_fcpcipnp
 +  blacklist avmfritz
 +
 +Nun muss ein neues Kernel-Modul (fcpci) kompiliert und ins System integriert werden. Eine vorkompilierte Version (fcpci.ko) sowie die Quellcode (fritz-fcpci-src-2.6.31_untested.tar.bz2) finden sich im Download-Bereich. ​
 +  wget http://​www.jbackes.de/​downloads/​nagios/​fcpci.ko
 +  wget http://​www.jbackes.de/​downloads/​nagios/​fritz-fcpci-src-2.6.31_untested.tar.bz2
 +
 +Das fertige Modul muss dann natürlich noch an die passende Stelle kopiert werden und dem System bekannt gegeben werden. Geladen wird es beim Systemstart automatisch,​ solange die blacklist wie oben angegeben gepflegt ist.
 +  mkdir /​lib/​modules/​`uname -r`/​kernel/​extras
 +  cp fcpci.ko /​lib/​modules/​`uname -r`/​kernel/​extras
 +  depmod -a
 +
 +
 +Zur Nutzung von CAPI muss nach einem Systemstart noch der Command ''​capiinit start''​ ausgeführt werden. Dieses kann in das capiutils-Startskript eingebunden werden.
 +
 +Außerdem muss eine "​CAPI-enabled"​ Version von YAPS genutzt werden (yaps-0.96.c4). Ein entsprechendes tar und eine vorkompilierte Version (yaps.capi) finden sich im Download-Bereich. Die ebenfalls im Download-Bereich liegende ''​yaps.rc.capi''​ kann benutzt werden. Unterschied zur sonst benutzten ''​yaps.rc''​ sind lediglich die beiden ''​device''​-Einträge.
 +  device ​ capi/​1/<​MSN>​
 +Natürlich muss ''<​MSN>''​ noch durch die MSN des genutzten ISDN-Anschlusses ausgetauscht werden.
 +
 +  wget  http://​www.jbackes.de/​downloads/​nagios/​yaps-0.96.c4.tar.gz
 +  wget  http://​www.jbackes.de/​downloads/​nagios/​yaps.capi
 +  wget  http://​www.jbackes.de/​downloads/​nagios/​yaps.rc.capi
 +  cp yaps.capi /​usr/​sbin/​yaps
 +  chmod 755 /​usr/​sbin/​yaps
 +  cp yaps.rc.capi /​etc/​yaps.rc
 +
 +
 +Außerdem muss der User "​nagios"​ in der Gruppe "​dialout"​ sein, damit er auch auf das ISDN-Interface zugreifen darf.
 +  adduser nagios dialout
 +
 +
 +==== YAPS Einbindung in Nagios ====
 +In den contacts.cfg der wird festgelegt, wer und bei welchem Vorfall benachrichtigt wird.
 +
 +  define contact{
 +        contact_name ​                   name
 +        alias                           ​Vorname Nachname
 +        service_notification_period ​    24x7
 +        host_notification_period ​       24x7
 +        host_notification_options ​      ​n,​d,​u,​r  ​
 +        service_notification_options ​   n,w,u,c,r
 +        service_notification_commands ​  ​notify-by-sms
 +        host_notification_commands ​     host-notify-by-sms
 +        pager                           ​0123456789
 +        }
 +
 +
 +Unter Ubuntu werden standardmäßig unter ''/​etc/​nagios-plugins/​config''​ die commands definiert. Hier muss definiert werden, (z.B.:in einer eigenen Datei ''​jb_alarmierung.cfg''​) was per SMS an den Pager/das Handy geschickt wird. 
 +
 +
 +  ####### SMS Alarmierung ###############​
 +  # '​notify-by-sms'​ command definition
 +  define command{
 +  command_name notify-by-sms
 +  command_line PFAD/​yaps $CONTACTPAGER$ "​$NOTIFICATIONTYPE$:​ $HOSTNAME$/​$SERVICEDESC$ is $SERVICESTATE$" ​
 +  }
 +  ​
 +  # '​host-notify-by-sms'​ command definition
 +  define command{
 +  command_name host-notify-by-sms
 +  command_line PFAD/​yaps $CONTACTPAGER$ "​$NOTIFICATIONTYPE$ alert - Host $HOSTNAME$/​$HOSTADDRESS$ is $HOSTSTATE$" ​
 +  }
 +
 +
 +=== Besonderheit in großen Umgebungen ===
 +Bei großen Umgebungen, kann es vorkommen, dass mehrere SMS zeitgleich versendet werden sollen. Hier kann es dann zu Problemen können, das jeweils nur ein Prozess die ISDN-Karte nutzen kann. Um dies abzufangen und gleichzeitig eine Protokollierung über die versendeten SMS/​Pager-Nachrichten zu erhalten, wird hier nicht direkt das Binary '​yaps'​ sondern ein selbstgeschriebenes Shell-Skript '​yaps.sh'​ aufgerufen.
 +
 +Für den Fall, dass das die ISDN-Karte belegt sein sollte, ist ein retry intervall von 10 Versuchen in 10sec Abstand definiert. ​
 +\\
 +''​yaps.sh:''​
 +
 +  #!/bin/sh
 +  DATE=`date +%b" "​%d"​ "%T`
 +  LOGFILE="/​opt/​nagios/​nec/​var/​log/​pager.log"​
 +  ​
 +  ptarget=$1
 +  pmsg=$2
 +  declare -i RENUM=0
 +  declare -i i=0
 +  ​
 +    /​usr/​bin/​yaps -C /​etc/​yaps.rc $ptarget "​$pmsg" ​
 +    RC=$?
 +    while [ $i -lt 10 ]; do
 +      if [ "​$RC"​ = "​0"​ ]; then
 + i=10
 + else
 + DATE=`date +%b" "​%d"​ "%T`
 + echo "​waiting for device"​
 + echo "$DATE - -> waiting for device"​
 + /​bin/​sleep 10
 + /​usr/​bin/​yaps ​ -C /​etc/​yaps.rc $ptarget "​$pmsg" ​
 +   RC=$?
 +   RENUM=$i+1
 +   echo "$DATE - RETRY $RENUM -> $ptarget - $pmsg" >> $LOGFILE
 +      fi;
 +      i=$i+1
 +    done
 +    DATE=`date +%b" "​%d"​ "%T`
 +    if [ "​$RC"​ = "​0"​ ]; then
 +  echo "$DATE - SUCCESS -> $ptarget - $pmsg" >> $LOGFILE
 +    else
 +      echo "$DATE - ERROR -> $ptarget - $pmsg" >> $LOGFILE
 +    fi;
 +  exit $RC
 +
 +\\
 +
 + --- //​[[mail@jbackes.de|JB]] 2008/11/27 17:35//
sms-alarmierung_mit_yaps.txt · Zuletzt geändert: 2015/05/31 13:36 von admin