VnStat - Moniteur réseau léger basé sur une console
vnStat est un moniteur de trafic réseau en mode console pour Linux et BSD qui conserve un journal du trafic réseau pour la ou les interfaces sélectionnées. Il utilise les statistiques des interfaces réseau fournies par le noyau comme source d'information. Cela signifie que vnStat ne renifle pas réellement le trafic et assure également une utilisation légère des ressources du système.
Dans ce tutoriel, nous allons passer en revue :
- Caractéristiques
- Installation
- Configuration
- Démarrer le service Systemd
- Utilisation (à partir de la ligne de commande)
- Exemple de Conky
Caractéristiques
- rapide et simple à installer et à faire fonctionner
- les statistiques recueillies persistent lors des redémarrages du système
- peut surveiller plusieurs interfaces en même temps
- plusieurs options de sortie
- résumé, horaire, quotidien, mensuel, hebdomadaire, 10 derniers jours
- sortie optionnelle d'une image png (en utilisant libgd)
- les mois peuvent être configurés pour suivre la période de facturation
- utilisation légère et minimale des ressources
- même faible utilisation du processeur, quel que soit le trafic
- peut être utilisé sans les droits de root
- éditeur de configuration des couleurs en ligne
Installation
nvStat est dans les dépôts officiels donc pas besoin de faire un lien vers un nouveau ppa. Pour installer, créez une instance de Terminal en utilisant Ctrl + Alt + T et tapez à l'invite :
sudo apt-get install vnstat
Après l'installation, gardez votre Terminal ouvert pour les sections suivantes. Il n'est pas nécessaire de redémarrer.
Configuration
Choisissez une interface réseau préférée et modifiez la variable Interface dans l'écran d'accueil. /etc/vnstat.conf
en conséquence. Pour lister toutes les interfaces disponibles pour vnstat, utilisez :
vnstat --iflist
Pour commencer à surveiller une interface particulière, vous devez d'abord initialiser une base de données. Chaque interface a besoin de sa propre base de données. La commande pour en initialiser une pour l'interface eth0 est :
sudo vnstat -u -i eth0
Démarrer le service Systemd
Après avoir introduit la ou les interfaces et vérifié le fichier de configuration. Vous pouvez démarrer le processus de surveillance via systemd
:
sudo systemctl start vnstat.service
Pour rendre ce service permanent, utilisez :
sudo systemctl enable vnstat.service
A partir de maintenant vnstat
collectera l'utilisation du réseau en arrière-plan en utilisant un si petit pourcentage de CPU qu'il n'apparaîtra pas dans la liste des 9 premiers processus de conky (moniteur système) (sur ma machine).
Utilisation (à partir de la ligne de commande)
Interroger le trafic réseau :
vnstat -q
Visualisation en direct de l'utilisation du trafic réseau :
vnstat -l
Pour trouver d'autres options, utilisez :
vnstat --help
Totaux mensuels
Pour voir les totaux mensuels, utilisez :
rick@dell:~$ vnstat -m
eth0 / monthly
month rx | tx | total | avg. rate
------------------------+-------------+-------------+---------------
Nov '16 76.31 MiB | 2.03 MiB | 78.35 MiB | 10.45 kbit/s
------------------------+-------------+-------------+---------------
estimated 3.13 GiB | 84 MiB | 3.21 GiB |
Exemple de Conky
Conky est un moniteur système populaire et léger utilisé dans de nombreuses distributions Linux. Vous pouvez ajouter les totaux de bande passante de vnStat à votre affichage Conky comme ceci :
Notez quand la photo a été prise Yesterday
était le dimanche, ce qui explique pourquoi le total hebdomadaire est moindre.
Le code conky pour y parvenir est le suivant :
${color orange}${voffset 2}${hr 1}
${color1}Network using vnStat "-i", "-w" and "-m"
${color}${goto 5}Today ${goto 100}Yesterday ${goto 225}Week ${goto 325}Month ${color green}
${execi 300 vnstat -i eth0 | grep "today" | awk '{print $8" "substr ($9, 1, 1)}'} ${goto 110}${execi 300 vnstat -i eth0 | grep "yesterday" | awk '{print $8" "substr ($9, 1, 1)}'} ${goto 220}${execi 300 vnstat -i eth0 -w | grep "current week" | awk '{print $9" "substr ($10, 1, 1)}'} ${goto 315}${execi 300 vnstat -i eth0 -m | grep "`date +"%b '%y"`" | awk '{print $9" "substr ($10, 1, 1)}'}
${color orange}${voffset 2}${hr 1}
Pour gagner de la place sur ma fenêtre étroite, j'ai utilisé "G" au lieu de "GiB", "M" au lieu de "MiB", etc. Si vous avez plus de place sur votre écran, changez substr ($10, 1, 1)
a $10
et de même pour $9
.
Vous devrez peut-être changer eth0
a wlan0
o eth1
etc., en fonction du nom de votre réseau signalé par le service d'information sur les réseaux. ifconfig
.