Nagios : monitorer la HA netASQ en script shell
Sur les pare-feu NetASQ il y a la possibilité de les mettre en High availability (Haute Dispo).
Un moyen assez simple de le monitorer avec nagios est de chercker son numéro de série. Il est écrit en script shell et parse les arguments à l’aide de getops. (Voir article sur Comment passer proprement des arguments en script shell)
Il est très simple et utilise la commande smnpget et récupère le numéro de série.
On passe comme arguments au script adresse, communauté et numéro de série du primaire ce cette manière :
./check_netasq_ha -H hostadress -c community -s masterSerialNumber
Il retourne OK (0) si il récupère bien le bon S/N et CRITICAL (2) si il ne récupère pas ce S/N.
De cette manière il est facile de savoir si snmp si le pare-feu est en mode principal ou secondaire.
#!/usr/bin/env bash hflag= cflag= sflag= while getopts 'H:c:s:' OPTION do case $OPTION in H) hflag=1 host="$OPTARG" ;; c) cflag=1 community="$OPTARG" ;; s) sflag=1 snumber="$OPTARG" ;; ?) printf "Usage: %s: -H hostname -c community -s MasterSerialNumber \n" $(basename $0) >&2 exit 2 ;; esac done shift $(($OPTIND - 1)) if [ "$hflag" ] && [ "$cflag" ] && [ "$sflag" ] then CHECK=$(snmpget -v1 -c $community $host 1.3.6.1.2.1.1.5.0 | awk '{print $4}' | sed -e "s/\"//2" | sed -e "s/\"//1") if [ $CHECK = $snumber ]; then printf "HA OK : Primaire en production\n" exit 0 else printf "HA CRITICAL : Secondaire en production\n" printf "SN actuel : $CHECK\n" printf "SN master : $snumber\n" exit 2 fi else printf "Argument error !\n" printf "Usage: %s: [-H hostname] [-c community] [-s MasterSerialNumber ]args\n" $(basename $0) >&2 exit 3 fi |
Vous pouvez l’ajouter à votre bibliothèque de scripts nagios 🙂
Il pourrait certainement être amélioré mais il déjà est pratique 😉
N’hésitez pas à ajouter des commentaires si vous avez des axes d’amélioration 😉
Bonjour
J’ai utilisé votre script mais j’aimerai savoir si c’est possible de l’améliorer.
Je m’explique, lorsque mon premier netasq ( le master) est en marche j’aimerai être sur que le secondaire est prêt est fonctionne correctement.
J’ai eu le cas dernièrement, le master se portait très bien mais c’est le secondaire qui avait grillé et je ne sais pas comment monitorer cela.
Si tu as une idée, je l’attends avec Plaisir =)
D’avance Merci
Il faudrait regarder dans les mibs netasq si tu arrives à les compiler (j’avais réussi avec de l’acharnement) mais sans être sur.
Le Slave est complètement endormi mais normalement le master ne bascule pas si l’autre est grillé. Peut être qu’une OID nous informe de l’état du slave mais j’ai pas trouvé.
Si tu trouves quoi que ce soit, fais moi en part que je poste un script 🙂
Je viens d’avoir le même souci (primaire en ligne mais secondaire HS…), la seule chose que j’ai trouvé en SNMP pour la HA est accessible à partir des OID : .1.3.6.1.4.1.11256.1.11
Mais uniquement pour les v9 ! donc ça ne fonctionne pas sur mes F-800.