Le script Centreon PERL permet de restaurer le CPU d’un switch Cisco 4500X en VSS.


Les commutateurs Cisco 4500X peuvent entrer dans VSS. Le problème est de restaurer la consommation CPU du switch. En SNMP avec MIB classique, seul le CPU du switch actif est récupéré. Voici une alternative.

Avec ce script, nous allons récupérer directement sur le CPU utilisé par les 2 switchs du VSS.

Comme d’habitude, vous trouverez ce script ainsi que diverses mises à jour et correctifs dans mon référentiel Github à : https://github.com/quick-tutorial (n’hésitez pas à vous abonner).

Avant de commencer, une petite définition de Cisco VSS s’impose pour ceux qui ne connaissent pas :
Virtual Switching System (VSS) est une fonctionnalité de Cisco qui peut être Catalyseur 6500 et en 4500X etc…. il permet Créer un commutateur logique à partir de 2 châssis physiquesCette technique permet de déployer des topologies à 2 niveaux tout en évitant les problèmes souvent complexes liés au spanning tree.

Ce n’est pas une longue histoire, mais un exemple Système de commutation virtuelle (VSS) De Cisco :

VSS permet la création d’une seule entité logique à partir de 2 Catalyst 6500 ou 4500 physiques.

Les éléments de base de la technologie VSS sont Le lien est appelé VSL (Virtual Switch Link) Connectez les deux jonctions Catalyst 6500. Cette liaison permet entre autre d’échanger des messages de commande et de signalisation entre 2 équipements physiques pour former un switch logique.

Après cette brève définition, passons aux plugins.

Comme il n’y a pas d’OID pour restaurer le CPU des 2 switchs, il va falloir utiliser le module Réseau CPAN::SSH::Attendre Connectez-vous au switch, exécutez la commande et récupérez le résultat puis interprétez-le.

A Voir  Comment fonctionne le cryptage VPN

La commande Cisco pour restaurer les 2 CPU du commutateur est :

#show proc cpu | la section inclut les cœurs

À l’aide de ce plugin, nous allons récupérer la valeur d’une minute d’utilisation du processeur.

Regardons maintenant le script PERL :

L’utilisation de use strict dans un script rend la déclaration de variable obligatoire.

Le plugin utilise 2 modules CPAN NET::SNMP et NET::SSH::EXPECT (pour la connexion SSH et l’exécution de la commande sur l’appareil).

Avant de lancer le traitement, je vérifie que toutes les options obligatoires sont renseignées :

  • $opt_host : Vous permet d’entrer l’adresse IP de l’appareil que vous souhaitez surveiller.
  • $opt_community : Vous permet d’entrer dans la communauté privée ou publique ou autre de l’appareil.
  • $opt_version : Une version qui vous permet d’entrer dans la Communauté 1-2C-3.
  • $opt_command : Par exemple, permet de saisir une commande à exécuter sur le switch pour récupérer la valeur du CPU.
  • $opt_w : Vous permet d’entrer une valeur d’avertissement pour le CPU.
  • $opt_c : Permet de saisir un seuil pour le CPU.

variable $opt_user et $opt_password Vous permet de taper en dur les identifiants si vous ne voulez pas les entrer comme arguments sur la ligne de commande du plugin.

  • Lignes 94 à 101 : Définit les paramètres d’établissement d’une connexion sur un commutateur Cisco.
  • Ligne 104 : Connectez-vous via le module NET::SSH:EXPECT sur l’appareil Cisco.
  • Ligne 107 : Exécutez la commande sur le commutateur.

  • Ligne 110 : Récupère chaque ligne de retour de la commande exécutée.
  • Ligne 113 : Nous créons une table qui agit comme un délimiteur : nous stockons les résultats de la commande concernant la ligne en cours d’analyse.
  • Lignes 116 à 124 : Si les conditions sont bonnes, ne restaurez que la valeur de CPU utilisée pendant 1 minute sur 2 commutateurs de VSS.
  • Lignes 140 à 159 : Tester la valeur CPU et afficher le message dans Centreon.
A Voir  Comment améliorer le taux de conversion d'un site Web grâce à l'analyse Web ?

Suivant les conventions de mon script, je prends les variables suivantes :

  • $statut : L’état du résultat (OK, AVERTISSEMENT, CRITIQUE, INCONNU).
  • $données de performances : pour les données graphiques. N’oubliez pas de mettre le signe = entre la spécification de la valeur et la valeur.
  • Sortie $ : Sortie pour afficher les messages dans Centreon

Exécutons maintenant le plugin. Si vous rencontrez des difficultés pour créer des plugins dans Centreon, j’ai abordé en détail la création de plugins avec des modèles de service et d’hôte à cette adresse dans le premier tutoriel : https://quick-tutoriel.com/script-perl-for-backup-dune-appliance-cisco-asa-5500/.

Pour moi j’utilise CES virtualisé (Centreon Enterprise Server)Le répertoire où je dois copier le plugin est le suivant : /usr/lib/nagios/plugins.

Avant d’intégrer le plugin dans Centreon, je le lance toujours sur mon serveur pour vérifier que tout fonctionne.Le script est exécuté par l’utilisateur moteur central.

Chaque plugin doit avoir un assistant. tu peux l’utiliser commutateur -hqui vous indique les paramètres à passer au plugin.

Voici la commande à passer :

#./check_ssh_cisco4500x_cpu_vss -h

Par exemple:

#./check_ssh_cisco4500x_cpu_vss -H 192.168.2.118 -Y public -V1 -K « sh proc cpu | section include Core » -W 40 -C 50

Après avoir intégré le plugin dans Centreon, vous aurez :

Graphiquement, cela donne :

Comme je ne suis pas un expert en programmation PERL, ce script peut certainement être optimisé. Merci de laisser un commentaire si vous modifiez et/ou utilisez le plugin, c’est toujours un plaisir.

c’est tout.