Plugins Munin pour monitoring de Neuf Box: Les status
Voici le deuxième plugins pour le [search]monitoring de Neuf Box[/search]: celui-ci consulte les status des différents éléments de la neuf box: la ligne DSL, le PPP (« connexion avec internet »), et la VOIP (le téléphone), Ce plugin marche comme le précédent basé sur la page: http://192.168.1.1/stb/info.
Voici le code du plugin:
(sous license GNU-GPL)
#!/bin/sh
##############################################################################
## DESCRIPTION ##
##############################################################################
#
# Ce script reupère les donnée sur la page "detecttion des intrusions" et
#formate ces donnée pour munin
#utilise XMLStarlet
#apt-get install xmlstarlet
#
#le script comprent les commandes:
# -> autoconf
# -> config
# -> <vide>
##############################################################################
## Variable de configuration ##
##############################################################################
#l'adresse ip du modem routeur TELE2
IP_NEUFBOX="192.168.1.1"
#############################################################################
## CONSTANTE POUR FACILITE L'EVOLUTION DU SCRIPT ##
#############################################################################
#
#ces constantes sont là pour s'adapter à d'eventuelles modifications
#du firmware du modem ou pour permetre au script d'évoluer
#
#page de l'interface WEB qui liste les info de la neuf
PAGE_INFO="/stb/info"
#fichier temporaire ou sera stocké cette page pour faire les traitements
PAGE_FILE="/tmp/temp.munin.neufboxV4.stb.info"
#services suportant le champ status
# la voip est traité part
SERVICES="dsl ppp voip"
#############################################################################
## SCRIPT ##
#############################################################################
getfile()
{
wget -q -O"$PAGE_FILE" "http://$IP_NEUFBOX$PAGE_INFO"
}
if [ "$1" = "autoconf" ]; then
#on recupère la page
getfile
#on verifie que c'est la bonne page avec son titre
ret=$(grep "status" "$PAGE_FILE" | wc -l)
if [ "$ret" > "0" ] ; then
echo yes
exit 0
else
echo no
exit 1
fi
fi
if [ "$1" = "config" ]; then
echo 'graph_title NeufBox Status'
echo 'graph_args --base 1000 -l 0 -u 1'
echo 'graph_vlabel Status 1:up 0:down'
echo 'graph_category NEUFBOXV4'
for s in $SERVICES
do
echo "$s"'_status.label '"$s"
echo "$s"'_status.min 0'
echo "$s"'_status.max 1'
done
exit 0
fi
if ! [ -f $PAGE_FILE ]; then
getfile
elif [ $(expr `date '+%s'` - `date -r $PAGE_FILE '+%s'`) -ge 250 ]; then
getfile
fi
for s in $SERVICES
do
if [ "$s" = "voip" ]; then
ret=$(xmlstarlet sel -t -v "/info/voip/linestatus" $PAGE_FILE)
else
ret=$(xmlstarlet sel -t -v "/info/$s/status" $PAGE_FILE)
fi
if [ "$ret" = "up" ]; then
echo "$s"'_status.value 1'
else
echo "$s"'_status.value 0'
fi
done
Et pour télécharger le plugin c’est ici ou ici.
Et le resultat en image:
(rien de pertinent: y’a pas de problème donc tous les status restent à UP=1)

Laisser un commentaire