Monitorer sa livebox avec munin
Posted on 16. mai, 2009 by Maxence in Livebox, Munin, Tips
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.







