Nombre de connexions E-Mail Statistiques du site
Bio

vendredi 24 juillet 2020
Nombre de visites : 782

La vie du serveur - Scripts de supervision du modem fibre

J’ai depuis longtemps de la supervision de mon réseau.

J’ai commencé avec Nagios : mes compétences l’époque ne m’ont pas permis de maitriser ce truc...
J’ai eu ensuite Cacti : très bien, facile à utiliser et à configurer mais pas facilement étendable.
Et je suis tombé sur mon graal : munin.

Munin se base sur des scripts écrits en shell, python ou perl (entre autre). Il est très facilement étendable, il suffit de savoir écrire des scripts... ;-)

J’ai donc écrit des scripts pour monitorer l’uptime du modem, l’uptime de la connexion ADSL et le traffic ADSL.

J’ai commencé par accéder au modem via la page web de l’interface de gestion du modem. L’authentification étant en Basic (la petite fenêtre qui demande le user/mot de passe), il est facile d’accéder à la page via un GET http://user:mot de passe@ip modem/page. Ou par wget en utilisant les options —user et —password, on obtient le même résultat. Il faut ensuite parser le code html pour trouver les infos voulues. Ça marchait très bien avec des limitations quand même :
- le modem mettait de plus en plus de temps à répondre, il fallait le rebooter régulièrement ...
- sur un modem plus récent, les infos se trouvaient dans une autre page, en js... Je suis donc passer à une autre méthode

Le modem suivant avait une interface shell accessible en telnet ou ssh. Une fois connecté, on avait un vrai linux avec un shell qui permettait de lire les infos directement avec des commandes linux. Le seul problème pour faire le script était alors de trouver le fichier a lire ou au pire, la date de lancement d’un processus, pppoa dans mon cas pour connaitre la date de démarrage de la connexion ADSL.

Avec le modem suivant, un Zyxel pour ma connexion fibre, il a fallut rusé :
- la connexion web est pas facile : le user/mot de passe se saisissent sur un formulaire web. Je suppose qu’ensuite, le suivi de session se fait avec des cookies... Bref, ça demandait pas mal de boulot
- il est possible de se connecter en telnet ou ssh. Mais on se retrouve sur une sorte de buzybox avec peu de commandes. Et pas moyen de trouver de la doc. En faisant des essais sur ces commandes, j’ai pas trouvé les infos qui m’intéressent...
- et je me suis rappelé d’un protocole qui est fait pour ça : SNMP !!! Et ce modem permet (pas activé par défaut évidemment, ça serait trop facile) d’avoir ce protocole. Et la , ça va beaucoup plus vite : il suffit alors de trouver l’UID de la ligne qui nous interresse (genre 1.3.6.1.2.1.1.1.0). On trouve une doc facilement sur le net. De plus, le packet debian snmp conseil le paquet snmp-mibs-downloader qui traduit les codes en langage un peu plus humain. Ensuite, il suffit de faire des snmpget pour avoir les données très facilement

Donc ma connexion fibre et mon modem sont désormais supervisés !!!




Répondre à cet article