vnStat - Monitor di rete basato su console leggero
vnStat è un monitor del traffico di rete basato su console per Linux e BSD che mantiene un registro del traffico di rete per le interfacce selezionate. Usa le statistiche dell'interfaccia di rete fornite dal kernel come fonte di informazioni. Ciò significa che vnStat non sta effettivamente sniffando alcun traffico e garantisce anche un uso leggero delle risorse di sistema.
In questo tutorial esamineremo:
- Caratteristiche
- Installazione
- Configurazione
- Avvia il servizio Systemd
- Uso (dalla riga di comando)
- Esempio di visualizzazione in tempo reale Conky
Caratteristiche
- veloce e semplice da installare ed eseguire
- le statistiche raccolte persistono tramite il riavvio del sistema
- può monitorare più interfacce contemporaneamente
- diverse opzioni di output
- riepilogo, orario, giornaliero, mensile, settimanale, primi 10 giorni
- output immagine png opzionale (usando libgd)
- mesi possono essere configurati per seguire il periodo di fatturazione
- luce, utilizzo minimo delle risorse
- stesso utilizzo della CPU basso indipendentemente dal traffico
- può essere usato senza permessi di root
- editor di configurazione del colore online
Installazione
nvStat si trova nei repository ufficiali quindi non è necessario collegarsi a un nuovo ppa. Per installare crea un'istanza di Terminal usando Ctrl + Alt + T e scrivi al prompt:
sudo apt-get update
sudo apt-get install vnstat
Dopo l'installazione, tieni aperto il tuo terminale per le seguenti sezioni. Non è necessario riavviare.
Configurazione
Scegli un'interfaccia di rete preferita e modifica la variabile Interface in /etc/vnstat.conf
di conseguenza. Per l'elenco di tutte le interfacce disponibili per vnstat, utilizzare:
$ vnstat --iflist
Available interfaces: wlp60s0 lo enp59s0 (1000 Mbit)
Per iniziare a monitorare una particolare interfaccia, devi prima inizializzare un database. Ogni interfaccia ha bisogno del proprio database. Il comando per inizializzare uno per l'interfaccia eth0 è:
sudo vnstat -u -i enp59s0
Avvia il servizio Systemd
Dopo aver introdotto le interfacce e verificato il file di configurazione. Puoi avviare il processo di monitoraggio tramite systemd
:
sudo systemctl start vnstat.service
Per rendere questo servizio permanente:
sudo systemctl enable vnstat.service
Da ora in poi vnstat
raccoglierà l'utilizzo della rete in background utilizzando una percentuale così piccola di CPU che non viene visualizzata nell'elenco dei processi 9 di Conky (sul monitor di sistema) (sulla mia macchina).
Utilizzo (dalla riga di comando)
Esegui una query sul traffico di rete:
vnstat -q
Visualizzazione dell'utilizzo del traffico di rete in tempo reale:
vnstat -l
Per trovare più opzioni, usa:
vnstat --help
Totali mensili
Per vedere i totali mensili, usa:
$ 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 |
Esempio di visualizzazione in tempo reale Conky
Conky è un diffuso monitor di sistema leggero usato in molte distribuzioni Linux. Puoi mostrare i totali della larghezza di banda di vnStat nel tuo schermo conky in questo modo:
30 secondi .gif della sezione pertinente di Conky
Il codice Conky per produrre questo display è:
${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 " "substr (, 1, 1)}'} ${goto 110}${execi 10 vnstat -i enp59s0 | grep "yesterday" | awk '{print " "substr (, 1, 1)}'} ${goto 220}${execi 10 vnstat -i enp59s0 -w | grep "current week" | awk '{print " "substr (, 1, 1)}'} ${goto 315}${execi 10 vnstat -i enp59s0 -m | grep "'date +"%b '%y"'" | awk '{print " "substr (, 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}
Per risparmiare spazio sul desktop, la mia stretta finestra Conky usa "G" invece di "GiB", "M" invece di "MiB", ecc. Se hai più spazio sullo schermo, cambia substr (, 1, 1)
in
e fai lo stesso per
.
Potrebbe essere necessario modificare enp59s0
in eth0
, wlan0
o eth1
, ecc. a seconda del nome della rete riportato da ifconfig
.