HOME | PAGE WIFI | NODE52 | KADORS | DEPOT | CONTACT

Stats Cacti


J'utilise Cacti pour grapher tout ce qu'il y a à grapher sur les AP et machines de mon réseau. Cacti utilise RRDtool, maintenant une référence, et propose une interface web pour configurer et présenter les graphes. Bref, un outil formidable.

Graphes du Node52 :

Je propose certains graphes directement par l'interface de Cacti (Utilisateur : wifi ; Mot de passe : wifi).
Il s'agit du nombre de clients connectés, le trafic wireless, ethernet de mon AP et le trafic ADSL.
La page est hébergée chez moi directement sur la machine qui graphe (Linux Debian).

Graphes du Node52 :

J'ai créé quelques scripts en Shell (de bourin) spécifiques pour les AP que je possède. Vous pouvez les utiliser, voire les améliorer (et me les renvoyer ;-)).

AP Linksys WAP11 v1 (chip ATMEL) : c'est mon AP principal et il est accessible en SNMP, ce qui facilite les choses. D'autant plus que quelqu'un a eu la bonne idée d'écrire un utilitaire pour intérroger l'AP en SNMP, et cet ap-utils existe même en paquet Debian ! Reste à faire les mini-scripts shell qui donneront à Cacti/RRDTool le nombre de clients connectés, le nombre de paquets wireless entrant et sortant et le nombre d'octets ethernet entrant et sortant :

Clients connectés :

Directement dans Cacti en "Data Input" avec en input l'adresse IP de l'AP et la communauté SNMP et en output un nombre entier (clients)

/usr/bin/ap-mrtg -i <ip> -c <community> -t s -v | /usr/bin/head -n1

Paquets wireless entrant et sortant :

Les arguments de ce script sont l'adresse IP de l'AP et la communauté SNMP

#! /bin/sh
printf "`/usr/bin/ap-mrtg -i $1 -c $2 -t w -v | /usr/bin/head -n2 | awk 'BEGIN { RS = "";FS="\n" } ; { print $1 " " $2 }'`"

Octets ethernet entrant et sortant :

Les arguments de ce script sont l'adresse IP de l'AP et la communauté SNMP

#! /bin/sh
printf "`/usr/bin/ap-mrtg -i $1 -c $2 -t e -v | /usr/bin/head -n2 | awk 'BEGIN { RS = "";FS="\n" } ; { print $1 " " $2 }'`"

AP Linksys WAP11 v2.2 flashé DLink (Chip Texas) : je l'utilise en AP client mais ça ne change rien. Cet AP n'a qu'une interface web et je vais parser la page comme un bourin pour en sortir les stats (si vous avez mieux, je prends !). Par contre, en un seul script, j'extrait les paquets wireless et ethernet entrants et sortants :

J'ai été très fainéant ici et il n'y a carrément pas de mot de passe mais l'ajouter comme argument est trivial. Le seul argument ici est l'adresse IP de l'AP. Les chiffres sortants sont, dans l'ordre, ethernet out, ethernet in, wireless out, wireless in.

#! /bin/sh
printf "`lynx -dump -auth=admin: http://$1/st_stats.html | awk '{ if ($1=="Good") print $3 }'| awk 'BEGIN { RS = "";FS="\n" } ; { print $1 " " $2 " " $3 " " $4 }'`"

Routeur ADSL Alcatel SpeedTouch Pro : là, c'est un peu plus pénible car la page web ne donne pas les stats et il n'y a pas de SNMP. Cela dit, ça reste assez propre puisque ce routeur a une bonne interface Telnet. J'ai donc scripté une connexion Telnet avec expect pour extraire les données d'un "ifconfig-like".

Les arguments sont l'adresse IP du routeur, le user (admin) et le mot de passe. Les sorties sont les octets in et out de l'interface PPP vers Wanadoo :

#!/usr/bin/expect -f
set ip [lindex $argv 0]
set user [lindex $argv 1]
set password [lindex $argv 2]
spawn "/bin/sh"
send "telnet $ip\r"
expect "User :"
send "$user\r"
expect "Passw"
send "$password\r"
expect ">"
send "ip aplist\r"
expect " "
close

 

A venir rapidement, les stats d'un WAP11 v2.2 non modifié.