Monitorer sa Livebox avec Munin
4 min read
Récupérer quelques informations de votre livebox, comme sa consomation en ram, son traffic pour générer des graphiques sous munin.
Sa faisait depuis un moment que je voulais connaitre mon traffic mensuel du reseau de mon chez moi, chose faite !
Ce tutoriel est consacré à la livebox Sagem F@ST3202 Livebox1.
Un peu dâhistoire sur la livebox Sagem
La livebox, enfin « les » vu quâil y en a plusieurs, ici je vais parlĂ© de la livebox Sagem F@ST3202 Livebox1.
Je ne connais pas les autres malheureusement, elle date celle-ci. je lâai depuis 2004 si je dit pas de bĂȘtise.
Pendant ces 5 ans jâai du voir 2 versions de firmware, actuellement je possĂšde la version 26014A.
Munin et un serveur linux avant tout !
Dans ce tutoriel, pour que sa fonctionne il vous faut une machine sous linux en locale avec munin dâinstallĂ© et qui tourne de prĂ©fĂ©rence 24h/24, pour ma part jâutilise une EEEbox de asus en temps que serveur @ home.
Jâen parlerai plus en dĂ©tail dans un autre billet.
MalgrĂšs les posibilitĂ©s de la livebox, je ne suis pas un geek fou ! Jâai pas cherchĂ© Ă installer munin dessus, je crois pas que sa soit possible de toute façon car les commandes du shell son plutĂŽt limitĂ©.
Oui ! jâai bien dit shell. En cherchant un peu sur le net jâai dĂ©couvert un blog avec plein de truc et astuce au sujet de la livebox. Pour les curieux voici le blog : http://liveboxsagem11.centerblog.net.
Vous allez vous aperçevoir que les developpeurs dâorange ont pas mal bridĂ© lâaccĂšs via telnet mais aussi lâinterface web.
Nous allons commencĂ© par dĂ©bridĂ© lâaccĂšs root.
Lâantre de la livebox
Ouvrez votre naviguateur, pour accĂšder Ă lâinterface web de votre livebox.
En gĂ©nĂ©ral il suffit dây accĂšder via cette adresse ip -> http://192.168.1.1
Connectez vous, puis dans votre barre dâadresse copier/coller ceci:
javascript:mimic_button('goto: 70..', 0)
Via cette page vous allez pouvoir éditer la configuration de votre livebox, commencez par sauvegarder cette configuration sous le nom livebox.conf.
Une fois que sâest fait, ouvrez le fichier livebox.conf â et recherchez « (username(root)) »
Vous devriez trouver ce genre de paragraphe :
(username(root))
(password(&87;&26;&22;&84;))
(full_name(root))
(email())
(permissions
(mgt(1))
(superuser(0))
(readonly(0))
(fs(1))
La modification sâeffectue ici « superuser(0) » nous allons changer sa valeur par 1 pour donner les droits de super utilisateur Ă lâutilisateur root. Enregistrez votre fichier, retourner sur votre naviguateur web puis cliquez sur « charger le Fichier de Configuration » et sĂ©lectionnez votre fichier livebox.conf.
Validez les changements, puis pour vĂ©rifier si tout est bien opĂ©rationnel ouvrez votre invite de commande (windows + r â> cmd)
telnet 192.168.1.1
un login et un mot de passe vous seront demandé :
login : root
pass : 1234
original hmm ? ![]()
une fois connecté faite un simple :
ls
Si vous voyez au moins « ifconfig » et « meminfo » câest que vous avez les droits superuser.
Les choses sérieuses
Passons aux plugins munin, je me suis inspirĂ© du script de bodman visible ici http://bodman.wordpress.com/âŠ/aller-plus-loin-avec-une-livebox⊠pour faire transiter les infos
Sa mâa permi de dĂ©couvrir perl par la mĂȘme occasion.
Pour une raison de clartĂ©, jâai sĂ©parĂ© les plugins munin, des scripts qui rĂ©cupĂšre les informations entre la livebox et le serveur.
Ils vous faudra donc télécharger ces scripts :
adsl_livebox_traffic.pl
adsl_livebox_mem.pl
Placez les sur votre serveur, pour ma part je les ai mit dans /home/scripts/
Pour fonctionner nous allons devoir leur donnĂ© le droit dâĂȘtre executĂ©.
chmox +x /home/scripts/adsl_livebox_mem.pl
chmox +x /home/scripts/adsl_livebox_traffic.pl
adsl_livebox_mem.pl :
On se connecte via telnet â> on entre dans le shell puis on effectue un ifconfig de lâinterface br0, pour la ma part br0 regroupe lâensemble du traffic internet et local, je peux pas confirmer si câest comme ça sur toutes les livebox.
adsl_livebox_traffic.pl :
Ici on effectue toujours dans le shell /proc/meminfo quâon recupere et quâon stockera dans un fichier sur le serveur linux, le chemin par default du fichier est situĂ© /home/scripts/cache/livebox_meminfo, pensez Ă le modifier si vous ne gardez pas la mĂȘme arborescence que moi ! Celui-ci je lâexecute non pas via le plugin munin mais via une tache cron toutes les 5 minutes.
Pour créer cette tache :
crontab -e
et ajouter
*/5 * * * * perl /home/scripts/adsl_livebox_mem.pl
Voilà déjà pour la partie transit on va dire.
Passons aux plugins pour munin :
livebox_bandwidth
livebox_mem
Copiez ces deux fichiers dans /usr/share/munin/plugins puis rendez les executables
chmox +x /usr/share/munin/plugins/livebox_bandwidth
chmox +x /usr/share/munin/plugins/livebox_mem
Pensez Ă les Ă©diter ! Pour livebox_bandwidth il vous faut indiquer le chemin du fichier adsl_livebox_mem.pl, si vous avez gardĂ© mon arborescence vous nâavez pas besoin dâeffectuer cette modification.
Pour le fichier livebox_mem, jâai repris le script memory de munin, vu que les donnĂ©es sont sensiblement les mĂȘme, il faut juste indiquĂ© le chemin du fichier cache qui est gĂ©nĂ©rĂ© par /home/scripts/adsl_livebox_mem.pl
Si vous avez gardĂ© mon arborescence vous nâaurez pas besoin de le modifiĂ©.
Il faut ensuite activer les plugins munin en créant un lien symbolique :
ln -s /usr/share/munin/plugins/livebox_bandwidth /etc/munin/plugins
ln -s /usr/share/munin/plugins/livebox_mem /etc/munin/plugins
Puis redémarrer munin
/etc/init.d/munin-node restart
les modifications prendront effet au bout de quelques minutes.
Sa donne quoi ?

