Script PERL Centreon permettant de tester le HA d’un cluster Cisco WiSM.

Avec ce script PERL vous pourrez superviser le statut de votre cluster de cartes WISM Cisco avec Centreon.

Pour résumer une carte WiSM est un module contrôleur WiFi s’insérant dans un Catalyst 6500 et offrant les fonctions WiFi de l’architecture Cisco Unified Wireless. En gros c’est cette carte qui gère le wifi de votre entreprise.

Avec la nouvelle version il est possible de créer un cluster de carte Wism (1 carte dans chaque châssis), en cas de problème sur une carte on bascule sur l’autre sans perdre les connexions Wifi en cours. Très pratique dans un environnement de haute disponibilité comme des hôpitaux par exemple.

Un petit schéma vaut mieux qu’un grand discours :

ha_wism_1

Après ce petit préambule, concentrons nous sur notre plugin Centreon. Celui-ci nous alertera si une bascule vers la carte standby a eu lieu dans notre architecture.

Comme d’habitude vous retrouverez ce script et les différentes mises à jour et correctifs sur mon dépôt Github à cette adresse : https://github.com/quick-tutoriel (n’hésitez pas à vous abonner).

ha_wism_2

Ce script utilise 1 module CPAN Net::SNMP.

ha_wism_3

J’utilise toujours le même modèle pour mes scripts. Donc avant de commencer le traitement, je vérifie que toutes les options soient saisies :

  • La variable $opt_community (-C) permet d’indiquer la communauté de l’équipement. Généralement on accède avec la communauté Public (read) pour récupérer des informations.
  • La variable $opt_version (-V) permet de saisir la version de SNMP utilisée sur votre matériel
  • La variable $opt_host (-H) permet de saisir l’adresse ip de votre carte WiSM.

Comme vous pouvez le constater le nombre de variable est extrêmement réduit.

ha_wism_4

Ensuite nous récupérons la valeur de l’OID clHAPrimaryUnit de la MIB CISCO-LWAPP-HA. Pour ce script là, le plus dur étant de trouver la bonne OID et d’interpréter les bons résultats dans le retour de la commande.

Concernant le retour de cette OID : 1: Fonctionnement normal du cluster, 2: Bascule du cluster sur la carte WISM de backup.

Le statut des cartes WiSM (primaire ou secondaire) est défini lors de la configuration de celle-ci.

Généralement Cisco utilise toujours les mêmes MIB pour ses appareils à quelques exceptions prêts.

 

ha_wism_5

Ensuite il ne nous reste plus qu’à vérifier la valeur retournée par notre carte WISM et afficher le message qui va bien ainsi que la valeur du statut du service pour Centreon.

Comme d’habitude l’affichage des messages dans Centreon est généré via la variable $Output (variable qui contient les messages d’erreur, de succès, …) et $status qui affiche le statut de retour du plugin OK, WARNING, CRITICAL, UNKNOWN.

Ici nous n’utilisons pas la variable $perfdata car nous ne générerons pas de graphique.

Pour ma part j’utilise une CES (Centreon Entreprise Server) virtualisé. Le répertoire ou je dois copier mes plugins est le suivant : /usr/lib/nagios/plugins.

Avant d’intégrer le plugin dans Centreon je l’exécute toujours sur mon serveur pour vérifier que tout fonctionne correctement. Depuis CES les plugins sont exécutés avec l’utilisateur centreon-engine.

  • Vérification N°1 : Je m’assure que le plugin n’a pas d’erreur de programmation en affichant l’aide
#su centreon-engine
#./check_snmp_wism_ha.pl -h

ha_wism_6

  • Vérification N°2 : Je test le plugin sur l’équipement désiré, avec les vrais valeurs.
#./check_snmp_wism_ha.pl –C public –V1 –H 192.168.4.51

ha_wism_7

Une fois le plugin créé dans Centreon vous aurez ce genre de sortie :

ha_wism_8

Pour créer le plugin dans Centreon, vous pouvez consulter ce guide à cette adresse : https://quick-tutoriel.com/script-perl-pour-la-sauvegarde-dune-appliance-cisco-asa-5500/

Si vous modifiez et/ou utiliser le plugin merci de laisser un petit commentaire cela fait toujours plaisir.
N’oubliez pas le dépôt Github pour récupérer le script, à cette adresse : https://github.com/quick-tutoriel (n’hésitez pas à vous abonner).

That’s All.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *