Consommation graphique de la bande passante sous Linux
Vnstat est un utilitaire Linux qui permet d'analyser la consommation de la bande passante d'une ou plusieurs interfaces réseaux. L'utilisation de cet outil peut être également couplé à Vnstat PHP Frontend, une interface écrite en php, qui permet de visualiser des graphiques de consommation.
1. Installation et utilisation de vnstat
Ouvrez un terminal en root et lancez la commande suivante pour une distribution à base de rpm :
yum install vnstat
Ou celle-ci pour une distribution à base de debian :
sudo apt-get install vnstat
Pour fonctionner, vnstat à besoin de connaître quelle interface réseau vous souhaitez monitorer. La première étape consistera donc à ajouter une interface à la base de données, grâce à la commande suivante :
vnstat -u -i eth0
Ou celle-ci si vous êtes dans les sudoers :
sudo vnstat -u -i eth0
Après quelques minutes, des statistiques de consommation de la bande passante devraient apparaitre. Vous pourrez vérifier en utilisant simplement la commande vnstat dans un shell sans aucun argument.
2. Installation de Vnstat PHP Frontend
Vnstat PHP Frontend est une interface graphique en php qui permet d'analyser et de monitorer les données de Vnstat. Pour la faire fonctionner, vous devrez au préalable installer Apache et php sur la machine.
Récupérez ensuite les sources depuis le site officiel et lancez les commandes suivantes dans un terminal en root :
cd /var/www/html
tar zxvf vnstat_php_frontend-*.tar.gz
rm -f vnstat_php_frontend-*.tar.gz
ln -s vnstat_php_frontend-* vnstat
mkdir /var/www/html/vnstat/dumps
Une fois installée, on modifiera la configuration (fichier vnstat/config.php) pour indiquer à Vnstats PHP Frontend les cartes réseaux que l'on souhaite surveiller :
$iface_list = array('eth0');
$iface_title['eth0'] = 'Internal';
On notera au passage la présence de l'option :
$data_dir = './dumps';
Celle-ci indique le dossier où sont stockées les valeurs générées par vnstat. On pourra donc mettre en place la crontab suivante, qui s'exécutera toutes les 5 minutes pour venir alimenter le dossier de dumps.
*/5 * * * * vnstat --dumpdb -i eth0 > /var/www/html/vnstat/dumps/vnstat_dump_eth0
L'interface PHP de vnstat sera ensuite capable de générer des graphiques que l'on pourra visionner en ouvrant un navigateur à l'adresse : http://localhost/vnstat
5 Commentaires pour "Consommation graphique de la bande passante sous Linux"
Flux des commentaires de cet article Ajouter un commentaireBonjour, J'ai essayé de suivre ce billet-tutoriel, mais j'ai un souci avec la crontab.
L'installation de vnstat et phpFrontEnd s'est passée correctement, mon LAMP fonctionne aussi, mais je n'arrive pas à faire fonctionner la crontab.
En root, lorsque je tape celle de l'exemple dans le terminal, j'obtiens ce message d'erreur : bash: */5: Aucun fichier ou dossier de ce type
J'ai essayé de l'ajouter dans l'éditeur (crontab -e) et via gnome-schedule, mais aucune statistique n'apparait dans phpFrontEnd (no data available).
Pour info j'ai mailutils d'installé.
Je n'ai jamais utilisé de crontab avant, j'ai regardé le manuel mais je ne sais pas quoi faire... Quelqu'un aurait une idée du problème ?
Au passage j'ai une autre question : pourquoi dans la crontab faut-il entrer ce chemin : /var/www/html/vnstat/dumps/vnstat_dump_eth0 alors que le fichier ce situe dans /var/www/html/vnstat/dump/vnstat _dump_eth0 ?
@Ninux : la première chose que je vois c'est que tu confond crontab et commande bash. La syntaxe d'une crontab est la suivante :
mm hh jj MMM JJJ tâche
Et elle s'ajoute avec la commande crontab -e. Dans l'article, */5 * * * * signifie que la commande sera valable tous les jours (symbole *), tous les mois et tous les ans. Elle sera exécuté précisément toutes les 5 minutes.
C'est donc normal si tu obtiens une erreur avec un copier-collé dans un terminal. En faite, pour tester la crontab, il faudrait que tu ne recopie que la partie "tâche".
Donc dans un premier temps, je lancerais cette commande dans un shell (en adaptant ton interface réseau si ce n'est pas eth0) :
vnstat --dumpdb -i eth0 > /var/www/html/vnstat/dumps/vnstat_dump_eth0
Et je vérifirais que les données arrivent dans le dossier /var/www/html/vnstat/dumps/.
Sinon, pour la dernière question tu mentionne deux chemins différents. J'ai l'impression que tu a une erreur de config quelque part, le vrai dossier est dumps avec un s, vérifie bien que celui-ci existe et qu'il est bien indiqué dans le fichier config.php.
Merci pour l'info sur crontab, comme dis je n'avais jamais utilisé et ne savais pas si je devais la taper dans le shell ou l'éditeur. J'avais bien saisi l'utilisation et le rôle de chaque paramètre, mais vu que le répertoire n'était pas bon, elle ne pouvait pas fonctionner.
Le problème venait bien du répertoires /dumps qui n'existait pas car selon la version originale de ton article au point 2 on voit bien "mkdir /var/www/html/vnstat/dump" et c'est ce qui me faisait bloquer. J'ai donc renommé mon /dump et maintenant tout fonctionne.
Merci pour l'aide.
@Ninux : oui, je me suis aperçu de l'erreur au niveau de mkdir un peu après, j'ai donc corrigé.
Hello,
J'ai suivis le tutorial à la lettre, pas d'erreur. Mais rien ne se passe, mes graphiques ne sont pas mis à jour ? Il s'est remplis une première fois. Puis ... plus rien. Les chemins de mes répertoires sont bon pourtant, je ne vois pas d'où sa peut venir ..
Merci d'avance