Remplacer Cisco EEM par un script python (la loose c’est même pas en ruby)


Page original: http://blog.packetfault.org/2009/08/remplacer-cisco-eem-par-un-script-python-la-loose-cest-meme-pas-en-ruby/ 

EEM (IOS Embedded Event Manager) permet principalement de déclencher des actions automatiques en fonction d’événements sur les Cisco.

Les anciens codes IOS (routeurs ou switches) ne supportent pas toujours ce système que ça soit dans sa dernière ou première version.

Hélas, je suis tombé sur un système qui ne supportait pas l’EEM … mais après tout, il y a pire : Il paraît que certains ont vu se déployer RSH en 2009 au grand damn de JPGaulier.

Le python et pspad utilisés comme outils afin d’écrire un petit bout de code dont le but est de remplacer une des fonctionnalités d’EEM.

Paramétrer la ligne logging 1.2.3.4 (où 1.2.3.4 est la machine sur laquelle le script est lancé) sur le switch. Vous pouvez avoir plusieurs lignes “logging” dans la configuration, les logs seront envoyés aux adresses IP spécifiés pour chacune des lignes de configuration.

Ensuite, le fichier motcle.txt contient un mot-clé recherché dans les logs réceptionnés et déclenchera les commandes indiqués dans le fichier commandes.txt. Après avoir spécifié l’adresse IP du switch ainsi que ses paramètres de connexions (username, mot de passe, mot de passe et enable), lancer le script.

Pour mon besoin, il y a une boucle qui tourne 10 fois. Ici, le but recherché était de surveiller les compteurs d’interfaces afin de détecter des micro-spikes et comparer le retour des commandes à une baseline de traffic. Du coup, lorsque le script a lancé les commandes, un fichier cisco-date-heure-.log est crée dans le répertoire courant.

Télécharger le script

... et un peut de pub pour payer l'hébergement ;)