vnStat - Moniteur réseau léger sur console
vnStat est un moniteur de trafic réseau basé sur console pour Linux et BSD qui conserve un journal du trafic réseau pour les interfaces sélectionnées. Il utilise les statistiques d'interface réseau fournies par le noyau comme source d'information. Cela signifie que vnStat ne reniflera en fait aucun trafic et garantit également une utilisation légère des ressources système.
Dans ce tutoriel, nous passerons en revue:
- traits
- Installation
- Configuration
- Démarrer le service Systemd
- Utilisation (à partir de la ligne de commande)
- Exemple d'affichage en temps réel de Conky
traits
- rapide et simple à installer et à démarrer
- 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 premiers jours
- sortie d'image png en option (à l'aide de 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 autorisations root
- éditeur de configuration de couleur en ligne
Installation
nvStat est dans les dépôts officiels, donc pas besoin de se lier à un nouveau ppa. Pour installer, créez une instance de terminal à l'aide de Ctrl+ Alt+ Tet tapez à l'invite:
sudo apt-get update
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 en /etc/vnstat.conf
conséquence. Pour répertorier toutes les interfaces disponibles pour vnstat, utilisez:
$ vnstat --iflist
Available interfaces: wlp60s0 lo enp59s0 (1000 Mbit)
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 enp59s0
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:
sudo systemctl enable vnstat.service
À partir de maintenant, vnstat
nous recueillerons l'utilisation du réseau en arrière-plan en utilisant un si petit pourcentage de CPU qu'il n'apparaît pas dans la liste des 9 meilleurs processus de conky (moniteur système) (sur ma machine).
Utilisation (à partir de la ligne de commande)
Recherchez le trafic réseau:
vnstat -q
Affichage de l'utilisation du trafic réseau en direct:
vnstat -l
Pour trouver plus d'options, utilisez:
vnstat --help
Totaux mensuels
Pour voir les totaux mensuels, utilisez:
$ vnstat -m
enp59s0 / monthly
month rx | tx | total | avg. rate
------------------------+-------------+-------------+---------------
Oct '17 2.02 GiB | 1.57 GiB | 3.59 GiB | 11.25 kbit/s
Nov '17 58.28 GiB | 24.58 GiB | 82.86 GiB | 268.17 kbit/s
Dec '17 143.23 GiB | 13.64 GiB | 156.87 GiB | 491.31 kbit/s
Jan '18 102.77 GiB | 30.21 GiB | 132.97 GiB | 1.04 Mbit/s
------------------------+-------------+-------------+---------------
estimated 257.06 GiB | 75.56 GiB | 332.62 GiB |
Exemple d'affichage en temps réel de Conky
Conky est un moniteur système léger et populaire utilisé dans de nombreuses distributions Linux. Vous pouvez afficher les totaux de bande passante vnStat dans votre affichage conky comme ceci:
30 secondes .gif de la section pertinente de Conky
Le code Conky pour produire cet affichage est:
${color orange}${voffset 2}${hr 1}
${color}Memory:${goto 148}${color green}$mem / $memmax $alignr${color green}${memperc /}%
${color}Linux:${goto 148}${color green}${fs_used /} / ${fs_size /} $alignr${color green}${fs_used_perc /}%
${color}NVMe Win 10:${goto 148}${if_mounted /mnt/c}${color green} ${fs_used /mnt/c} / ${fs_size /mnt/c} $alignr${color green}${fs_used_perc /mnt/c}%${else}${color yellow}/mnt/c${endif}
${color}${if_mounted /mnt/d}HGST_Win10:${goto 148}${color green} ${fs_used /mnt/d} / ${fs_size /mnt/d} $alignr${color green}${fs_used_perc /mnt/d}%${else}Cache RAM:${goto 148}${color green}${cached} ${color} Buffers: ${color green} ${buffers}${endif}
${color}${if_mounted /mnt/e}WSL+Linux:${goto 148}${color green}${fs_used /mnt/e} / ${fs_size /mnt/e} $alignr${color green}${fs_used_perc /mnt/e}%${else}Swap:${goto 148}${color green}${swap} / ${swapmax} $alignr${color green}${swapperc}%${endif}
${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 10 vnstat -i enp59s0 | grep "today" | awk '{print $8" "substr ($9, 1, 1)}'} ${goto 110}${execi 10 vnstat -i enp59s0 | grep "yesterday" | awk '{print $8" "substr ($9, 1, 1)}'} ${goto 220}${execi 10 vnstat -i enp59s0 -w | grep "current week" | awk '{print $9" "substr ($10, 1, 1)}'} ${goto 315}${execi 10 vnstat -i enp59s0 -m | grep "`date +"%b '%y"`" | awk '{print $9" "substr ($10, 1, 1)}'}
${color}Down: ${color green}${downspeed enp59s0}/s ${color}${goto 220}Up: ${color green}${upspeed enp59s0}/s
${downspeedgraph enp59s0 25,190 000000 ff0000} ${alignr}${upspeedgraph enp59s0 25,190 000000 00ff00}$color
Total: ${color green}${totaldown enp59s0} $color${alignr}Total: ${color green}${totalup enp59s0}
${color orange}${voffset 2}${hr 1}
${color}${goto 5}Dawn: ${color green}${execpi 300 cat /usr/local/bin/sunrise} ${goto 155}${color}Dusk: ${color green}${execpi 300 cat /usr/local/bin/sunset} ${alignr}${color}Level: ${color green}${execpi 10 cat /sys/class/backlight/intel_backlight/brightness}
${color orange}${voffset 2}${hr 1}
Pour économiser de l'espace sur le bureau, ma fenêtre Conky étroite utilise "G" au lieu de "GiB", "M" au lieu de "MiB", etc. Si vous avez plus d'écran changez substr ($10, 1, 1)
pour $10
et faites de même pour $9
.
Vous devrez peut-être changer enp59s0
pour eth0
, wlan0
ou eth1
, etc., selon le nom de votre réseau signalé par ifconfig
.
vnstat