Outils pour utilisateurs

Outils du site


linux:adminsys:oco

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
linux:adminsys:oco [13/04/2009 13:41] – créée daniellinux:adminsys:oco [01/09/2010 12:31] (Version actuelle) – précision daniel
Ligne 29: Ligne 29:
 rm /usr/local/oco/result/KOvolontaire rm /usr/local/oco/result/KOvolontaire
 </code> </code>
 +
 +
  
 ===== Personnalisation ===== ===== Personnalisation =====
Ligne 46: Ligne 48:
 TMP=/tmp/http.oco TMP=/tmp/http.oco
 # on met la liste des résultats considérés comme bon (on peux en mettre un seul) # on met la liste des résultats considérés comme bon (on peux en mettre un seul)
-EXPECTED_RESULTS='la chaine de caractère que doit renvoyer notre script'+EXPECTED_RESULTS='truc1_OK truc2_OK truc3_OK'
 IPLB=<notre ip lb> IPLB=<notre ip lb>
 OUT_VALUE=302 OUT_VALUE=302
Ligne 56: Ligne 58:
 for r in $EXPECTED_RESULTS for r in $EXPECTED_RESULTS
 do do
-  [ $r = $(<$TMP) ] && OUT_VALUE=200+  [ $r = $(<$TMP) ] && OUT_VALUE=200 # On a trouvé une valeur correcte
 done done
 echo $OUT_VALUE > $OUT_FILE echo $OUT_VALUE > $OUT_FILE
 </code> </code>
 +
 Il reste à coder ce que vous voulez tester (dans le langage que vous voulez) dans le script appellé par défaut sur http://${IPLB}/ Il reste à coder ce que vous voulez tester (dans le langage que vous voulez) dans le script appellé par défaut sur http://${IPLB}/
 +
 +===== Monitoring =====
 +Pour vérifier le résultat d'oco, et remonter un mail d'alerte
 +
 +<code bash>
 +#!/bin/sh
 +LOG=/tmp/$(basename $0).$(date '+%Y-%m-%d_%H')
 +LOGOLD=/tmp/$(basename $0).$(date --date '1 hours ago' '+%Y-%m-%d_%H')
 +DATE=$(date '+%Y-%m-%d_%H%M')
 +
 +# Les binaires
 +TELNET=/usr/bin/telnet
 +SED=/bin/sed
 +MAIL=/usr/bin/mail
 +MV=/bin/mv
 +
 +res=$(TELNET 127.0.0.1 79 2>/dev/null|$SED -nre '4 s/[0-9]+ ([OK]+).*/\1/p')
 +if [ "$res" != "OK" ]
 +then
 +  # Ce script est appelé fréquemment, on envoie un mail par heure max
 +  if [ ! -f $LOG ]
 +  then
 +    echo "Résultat d'un appel oco ($TELNET 127.0.0.1 79) :" > $LOG
 +    $TELNET 127.0.0.1 79 >> $LOG 2>&1
 +    $MAIL -a "Content-Type: text/plain; charset=UTF-8" -s "$DATE OCO HS sur $(hostname)" root < $LOG
 +  else
 +    if [ -f $LOGOLD ]
 +    then
 +      echo -e "$DATE Le raid est rétabli sur $(hostname)" >> $LOGOLD
 +      $TWC info c0 >> $LOGOLD
 +      $MAIL -a "Content-Type: text/plain; charset=UTF-8" -s "$DATE RAID OK sur $(hostname)" root < $LOGOLD
 +      $MV $LOGOLD $LOGOLD.ok
 +    fi
 +  fi
 +fi
 +</code>
 +
linux/adminsys/oco.1239622917.txt.gz · Dernière modification : 13/04/2009 13:41 de daniel