Mise à jour : Script Centreon PERL pour la sauvegarde des switchs ou routeurs Cisco.
Grâce à ce script perl Centreon, vous pouvez utiliser Centreon pour mettre en place des politiques de sauvegarde pour vos switchs et routeurs Cisco. Les sauvegardes sont stockées sur un serveur TFTP. Découvrons tout de suite ce script PERL.
Mis à jour le 28 août 2014.
- je n’utilise plus les mods Réseau :: OpenSSH connecter à un serveur TFTP pour supprimer les fichiers de sauvegarde, mais Réseau ::TelnetL’utilisation du module OpenSSH pour enregistrer plusieurs commutateurs en même temps produit une erreur, je n’ai pas trouvé d’astuce pour résoudre le problème.
- J’ai également ajouté un paramètre PERFDATA qui permet de générer des graphiques avec des tailles de sauvegarde. Cela permet de suivre l’évolution des tailles de sauvegarde.
Comme d’habitude, vous trouverez ce script ainsi que diverses mises à jour et correctifs sur mon site Web. Référentiel Github A cette adresse : https://github.com/quick-tutoriel (n’hésitez pas à vous abonner).
Le script utilise 3 modules CPAN : Net :: OpenSSH, Net :: Telnet, Net :: SNMP et Cisco :: CopyConfig (Bibliothèque permettant la sauvegarde matérielle via SNMP).
Ce module CPAN est très utile car il permet Communautés privées utilisant SNMP et des appareils Faites une sauvegarde. Il n’est pas nécessaire de fournir un identifiant et un mot de passe pour l’appareil. De plus, des routines d’erreur sont fournies en cas d’échec de connexion ou de sauvegarde. Pas besoin de réinventer la roue.
J’utilise toujours le même modèle pour mes scripts. Alors avant de commencer le traitement, je vérifie que toutes les options sont saisies :
- variable $opt_community Une communauté utilisée pour représenter un appareil. En règle générale, nous récupérons les informations via l’accès communautaire public (lecture). Mais la particularité du script sera d’utiliser la communauté privée de son appareil (lecture et écriture) à la place du login et mot de passe habituels.
- variable $ opt_router Permet de saisir l’adresse IP d’un commutateur ou d’un routeur.
- variable $opt_iptftp Permet de saisir l’adresse IP du serveur TFTP. La configuration de votre appareil sera stockée sur ce serveur, généralement dans le répertoire par défaut /TFTPBOOT.
- variable $opt_backup Vous permet d’entrer un nom pour le fichier de sauvegarde.
nous avons une obligation Supprimer la dernière sauvegarde dans le répertoire TFTPBOOT avant d’effectuer la sauvegarde, sinon elle échouera.Nous nous connectons au serveur TFTP via le module Telnet Réseau ::Telnet.
Nous utilisons le module CPAN Cisco ::CopyConfig Cela permet à l’appareil d’être sauvegardé à l’aide de SNMP sans mot de passe. Dans la capture d’écran ci-dessus, nous voyons les variables nécessaires pour initialiser la connexion sur l’appareil.
variable:
- héberger Permet de récupérer l’adresse IP saisie lors de l’exécution du plugin
- la communication Autoriser l’accès à la communauté de lecture/écriture de l’appareil (généralement privée par défaut)
- mutant Cette valeur est fixée à 30 secondes (vous pouvez l’ajuster au besoin). Déconnectez-vous si l’appareil ne répond pas après 30 secondes.
Passons maintenant à l’économie d’équipement.Pour cela nous utilisons Fonction de copie modulaire (ligne 106). Cette fonction attend 2 Paramètres adresse ip du serveur tftp ($opt_iptftp) et nom de la sauvegarde ($opt_sauvegarde).
Si une erreur est rencontrée pendant le processus de sauvegarde, afficher le message d’erreur via une variable $config->{erreur} (ligne 130).
Si la sauvegarde s’est bien déroulée, nous vérifions (ligne 115) Nous vérifions que le fichier existe dans le répertoire TFTPBOOT. Le résultat de la commande est récupéré via Telnet. Si taille > 0, la sauvegarde s’est bien passée, sinon on affiche une erreur dans Centreon.
Comme d’habitude, l’affichage des messages dans Centreon est généré via des variables $ sortie (variables contenant des messages d’erreur, des messages de succès, etc…) et $statut Affiche l’état de retour du plugin OK, avertissement, critique, inconnu. Dans cette mise à jour, nous avons également la variable $perfdata contenant la taille du fichier de sauvegarde afin de générer des graphiques et de suivre l’évolution de la taille du fichier.
Pour moi j’utilise CES (Centreon Enterprise Server) Virtualisation. Le répertoire où j’ai du 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 Nagios (CES version V2.1).
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_snmp_cisco_backup_config.pl -C « community » -I « ip_switch » -T « ip_tftp » -F « backup_name »
Je vous recommande de toujours exécuter votre plugin en tant qu’utilisateur Nagios avant de l’intégrer dans Centreon.
#su nagios #./check_snmp_cisco_backup_config.pl –C privé –I 192.168.2.68 –T 1.10.8.37 –F R416.cfg
Le plugin fonctionne bien. Vous pouvez maintenant l’intégrer dans Centreon.Si vous rencontrez des difficultés pour créer des plugins dans Centreon, j’ai détaillé comment créer des plugins dans le premier tutoriel Modèles de service et d’hébergement A cette adresse : https://quick-tutoriel.com/script-perl-pour-la-sauvegarde-dune-appliance-cisco-asa-5500/.
[information]Merci de laisser un commentaire si vous modifiez et/ou utilisez le plugin, c’est toujours un plaisir.[/information]
Notes et/ou améliorations concernant l’utilisation du plugin :
- N’oubliez pas d’utiliser la communauté privée de votre appareil, sinon le plugin ne fonctionnera pas.
- Ce plugin ne gère pas les versions de sauvegarde. Étant donné que la dernière sauvegarde est supprimée avant l’exécution du script, vous risquez de ne pas sauvegarder votre appareil si cela n’est pas fait correctement. La meilleure chose à faire maintenant est de créer un script sur votre serveur TFTP qui vous permet de copier le répertoire de sauvegarde vers un autre emplacement.
- On peut ajouter un graphique qui permet de suivre l’évolution de la taille des sauvegardes.
- Il doit également implémenter une sauvegarde du fichier vlan.dat, qui permet de sauvegarder les vlans de l’appareil.
N’oubliez pas de récupérer le dépôt Github du script à : https://github.com/quick-tutoriel (n’hésitez pas à vous abonner).
c’est tout.
Stay connected