Continuons notre série de script sur les cartes WISM. Le WIFI devient presque aussi important que le filaire de nos jours. De plus en plus d’applications critiques l’utilisent. Il est donc important de surveiller ces équipements.
Sommaire de l'article
Script PERL Centreon pour contrôleur WIFI
Aujourd’hui je vous propose un script PERL tout simple qui permet de nous remonter le pourcentage de CPU utilisé par la carte WISM.
J’utilise toujours le même modèle de script depuis des années. Ce script utilise un seul module CPAN Net::SNMP (ligne 11) pour récupérer le pourcentage de CPU utilisé.
Avant de commencer le traitement, je vérifie que toutes les options soient saisies (ligne 25 à 65) :
- La variable $opt_community 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 permet d’indiquer la version de SNMP utilisée sur l’équipement (1, 2C, 3)
- La variable $opt_host permet de saisir l’adresse ip le l’équipement à superviser
- La variable $opt_w permet d’indiquer un seuil à partir duquel Centreon affichera le statut WARNING
- La variable $opt_c permet d’indiquer un seuil à partir duquel Centreon affichera le statut CRITICAL
Ensuite nous nous connectons à notre équipement en SNMP (Ligne 59), avec les variables passées ci-dessus.
Nous mettons dans une variable, l’OID que l’on souhaite rechercher (Ligne 71). L’OID agentCurrentCPUUtilization se trouve dans la MIB Cisco AIRESPACE-SWITCHING-MIB.
Une fois connecté à notre équipement nous récupérons le résultat de l’OID (Ligne 77) dans la variable $resultOID.
Ensuite il suffit de comparer la valeur retournée à nos valeurs de Warning et de Critical (Ligne 98 à 103) pour afficher le bon message dans Centreon (Ligne 105).
Pour ce script nous générons un graphique pour avoir un historique du pourcentage d’utilisation de la CPU. La variable qui génère le graphique se situe après le pipe (|) au niveau de la ligne 105. CPU_Usage contient la valeur de l’OID.
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.
Vérifications à réaliser avant d’intégrer un script Centreon
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_cpu.pl –h
- Vérification N°2 : Je test le plugin sur l’équipement désiré, avec les vrais valeurs.
# ./check_snmp_wism_cpu.pl -C public -V 1 -H 192.168.4.51 -w 50 -c 70
Une fois le plugin créé dans Centreon vous aurez ce genre de sortie :