Superviser un parc réseau avec un script Python maison
Un parc réseau, c’est des dizaines d’équipements qu’on ne peut pas surveiller un par un à la main. Pendant mes missions de bureau d’études, j’ai eu envie de comprendre comment automatiser la supervision, sans dépendre d’une solution lourde.
Le problème de départ
Vérifier qu’un switch répond, qu’une liaison est stable, qu’un port n’est pas saturé : c’est répétitif et c’est là qu’on laisse passer les pannes. J’ai donc écrit un petit script qui fait le tour du parc et remonte l’état en quelques secondes.
L’approche
Le script repose sur trois briques simples :
- Le ping pour tester la disponibilité de chaque équipement.
- Le relevé de compteurs (via SNMP ou via SSH selon ce qui est disponible) pour repérer les erreurs sur les interfaces.
- Un rapport texte généré automatiquement, avec un code couleur pour les équipements OK, en alerte ou injoignables.
import subprocess
def ping(host):
r = subprocess.run(["ping", "-c", "1", "-W", "2", host],
capture_output=True)
return r.returncode == 0
Ce que ça m’a appris
Au-delà du script lui-même, c’est une leçon sur la fiabilité : un outil de supervision doit échouer proprement, journaliser ce qu’il fait, et surtout ne jamais cacher une erreur. C’est exactement la même rigueur que je retrouve sur le terrain : un DOE mal tenu, c’est une réserve qu’on découvre trop tard.
L’étape suivante serait de brancher ce script sur un planning automatique et d’envoyer les alertes sur un canal de messagerie. Une bonne base pour continuer à apprendre.