vnStat - Monitor di rete leggero basato su console
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. Utilizza le statistiche dell'interfaccia di rete fornite dal kernel come fonte di informazioni. Ciò significa che vnStat non annuserà effettivamente il traffico e garantirà anche un leggero utilizzo delle risorse di sistema.
In questo tutorial esamineremo:
- Caratteristiche
- Installazione
- Configurazione
- Avviare il servizio Systemd
- Utilizzo (dalla riga di comando)
- Esempio di visualizzazione in tempo reale di Conky
Caratteristiche
- rapido e semplice da installare e iniziare
- le statistiche raccolte persistono attraverso il riavvio del sistema
- può monitorare più interfacce contemporaneamente
- diverse opzioni di output
- riepilogo, orario, giornaliero, mensile, settimanale, primi 10 giorni
- uscita immagine png opzionale (usando libgd)
- i mesi possono essere configurati per seguire il periodo di fatturazione
- leggero, utilizzo minimo delle risorse
- stesso basso utilizzo della cpu indipendentemente dal traffico
- può essere utilizzato senza permessi di root
- editor di configurazione colore online
Installazione
nvStat è nei repository ufficiali, quindi non è necessario collegarsi a un nuovo ppa. Per installare creare un'istanza di Terminale utilizzando Ctrl+ Alt+ Te digitare al prompt:
sudo apt-get update
sudo apt-get install vnstat
Dopo l'installazione, tenere aperto il Terminale per le seguenti sezioni. Non è necessario riavviare.
Configurazione
Scegli un'interfaccia di rete preferita e modifica la variabile Interface di /etc/vnstat.conf
conseguenza. Per elencare tutte le interfacce disponibili per vnstat, usare:
$ vnstat --iflist
Available interfaces: wlp60s0 lo enp59s0 (1000 Mbit)
Per iniziare a monitorare una particolare interfaccia è necessario inizializzare prima un database. Ogni interfaccia necessita del proprio database. Il comando per inizializzare uno per l'interfaccia eth0 è:
sudo vnstat -u -i enp59s0
Avviare il servizio Systemd
Dopo aver introdotto le interfacce e aver verificato il file di configurazione. Puoi avviare il processo di monitoraggio tramite systemd
:
sudo systemctl start vnstat.service
Per rendere permanente questo servizio:
sudo systemctl enable vnstat.service
D'ora in vnstat
poi si raccoglierà l'utilizzo della rete in background utilizzando una percentuale così piccola di CPU che non compare nell'elenco dei primi 9 processi di Conky (monitor di sistema) (sulla mia macchina).
Utilizzo (dalla riga di comando)
Interroga il traffico di rete:
vnstat -q
Visualizzazione dell'utilizzo del traffico di rete in diretta:
vnstat -l
Per trovare più opzioni, utilizzare:
vnstat --help
Totali mensili
Per visualizzare i totali mensili, utilizzare:
$ 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 di Conky
Conky è un popolare monitor di sistema leggero utilizzato in molte distribuzioni Linux. Puoi mostrare i totali della larghezza di banda di vnStat nel tuo display 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 $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}
Per risparmiare spazio sulla scrivania, i miei stretti usi finestra Conky "G" al posto di "GiB", "M" al posto di "mib", ecc Se si dispone di più schermo di modifica del settore immobiliare substr ($10, 1, 1)
per $10
e fare lo stesso per $9
.
Potrebbe essere necessario passare enp59s0
a eth0
, wlan0
o eth1
, ecc. A seconda del nome della rete segnalato da ifconfig
.
vnstat