start:supervision:check_mk:quagga
Ceci est une ancienne révision du document !
Pour vérifier l'état des sessions BGP sur les routeurs Linux tournant Quagga on utilise un plugin local pour check_mk
qui va donc régulièrement interroger Quagga pour connaitre les sessions en cours, et leur état. Un fichier de configuration permet de définir, en spécifiant les numéros d'AS, les sessions à ignorer, ou celles qui sont critiques (un client, un transitaire, par exemple). Par défaut une session qui n'est pas active, et pour laquelle ce n'est pas volontaire (shutdown
) donne un retour WARNING.
Le script communiquant avec Quagga utilise expect.
DISABLEPWD
est le mot de passe Quagga pour pouvoir se connecterENABLEPWD
est le mot de passe Quagga pour pouvoir passerenable
- /usr/lib/check_mk_agent/local/check_bgp_summary
#!/bin/bash conf="/etc/check_mk/bgp.conf" script_expect="/usr/local/bin/bgp_summary localhost bgpd DISABLEPWD ENABLEPWD" # Var NAGIOS STATE_OK="0" STATE_WARNING="1" STATE_CRITICAL="2" STATE_UNKNOWN="3" STATE_DEPENDENT="4" # Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd ( $script_expect |grep -A 9999999 "^Neighbor"|grep -B 999999 "^Total"|egrep "^[0-9]" | sed -e 's/\r//' | \ while read Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ UpDown StatePfxRcd sup ; do # Status ItemName PerformanceData CheckOutput if [[ $(grep -i "^exclude:as$AS:" "$conf") ]] ; then continue # skip when exclude fi infos="$StatePfxRcd" [ "x" != "x$sup" ] && infos="$infos $sup" # Gestion des cas ou l'info est en deux mots count=0 val=$STATE_UNKNOWN if [[ $StatePfxRcd =~ [0-9]+ ]] ; then val=$STATE_OK count=$StatePfxRcd else # Erreur, donc warning val=$STATE_WARNING # Si CRITIQUE, alors on hurle if [[ $(grep -i "^critical:as$AS:" "$conf") ]] ; then val=$STATE_CRITICAL fi # Si c'est volontaire, shut if [[ "$infos" =~ \(Admin\) ]] ; then val=$STATE_OK fi fi echo "$val BGP_AS"$AS"_$Neighbor count=$count Duration: $UpDown - Status: $infos" done )|sort -k 2
start/supervision/check_mk/quagga.1356705645.txt.gz · Dernière modification : 2012/12/28 15:40 de domi