In questo tutorial vedremo cos'è vnStat, come installarlo e quindi come monitorare la larghezza di banda della rete utilizzando vnStat nei sistemi operativi Linux e BSD.
Introduzione a Vnstat
VnStat è un monitor del traffico di rete gratuito, open source, leggero e basato su console. Utilizzando VnStat, possiamo facilmente trovare quanta larghezza di banda di rete viene consumata e visualizzare il risultato ogni ora, ogni giorno, ogni mese o per un periodo di tempo specifico.
Vnstat raccoglie i dettagli sull'utilizzo di una o più interfacce di rete e visualizza il riepilogo nella riga di comando. Aiuta anche a calcolare la quantità approssimativa di utilizzo della larghezza di banda Internet al mese o al giorno o per un determinato periodo di tempo.
Installa vnStat su Linux
VnStat è disponibile nei repository predefiniti di molti sistemi operativi Linux e Unix. Puoi installarlo utilizzando il gestore di pacchetti della tua distribuzione.
Sui sistemi basati su Arch:
Assicurati di aver abilitato [Community]
repository e installalo usando pacman come di seguito:
$ sudo pacman -S vnstat
Su Debian, Uubntu, Linux Mint, Pop OS:
$ sudo apt install vnstat
Su Ubuntu potrebbe essere necessario abilitare [Universe]
repository per installare vnstat.
Su Redhat, CentOS, AlmaLinux, Rocky Linux:
Aggiungi e abilita prima il repository EPEL:
$ sudo dnf install epel-release
E quindi installa vnStat come mostrato sopra.
$ sudo dnf install vnstat
Su Fedora:
$ sudo dnf install vnstat
Su openSUSE:
$ sudo zypper install vnstat
Dopo aver installato vnStat, avvia il suo servizio usando il comando:
$ sudo systemctl enable --now vnstat
Non è necessario avviare vnstat su sistemi basati su DEB, perché verrà avviato automaticamente durante il tempo di installazione.
Installa vnStat su FreeBSD
Su sistemi BSD come freeBSD, aggiorna l'albero delle porte e installa vnStat come root
utente che utilizza i comandi:
# pkg update
# pkg install vnstat
Una volta installato, abilita e avvia il servizio vnStat come di seguito.
# echo 'vnstat_enable="YES"' >> /etc/rc.conf
# service vnstat start
Risultato di esempio:
Starting vnstat. No interfaces found in database, adding available interfaces... Interface "em0" added with 1000 Mbit bandwidth limit. -> 1 new interface found. Limits can be modified using the configuration file. See "man vnstat.conf". Unwanted interfaces can be removed from monitoring with "vnstat --remove".".
Configura l'interfaccia di rete predefinita su Linux
vnStat usa eth0
come interfaccia di rete predefinita nel suo file di configurazione (/etc/vnstat.conf
).
Tuttavia, in alcuni sistemi Linux (ad es. Ubuntu), il nome dell'interfaccia di rete potrebbe essere diverso, come enp0s3
, enp0s8
. Puoi verificare il nome dell'interfaccia di rete utilizzando "ip addr"
comando.
Diamo un'occhiata al contenuto del file di configurazione vnstat.
$ head /etc/vnstat.conf
Esempio di output:
# vnStat 1.18 config file ## # default interface Interface "eth0" # location of the database directory DatabaseDir "/var/lib/vnstat" # locale (LC_ALL) ("-" = use system locale)
Come puoi vedere, l'interfaccia predefinita è etho
in questo file.
Verifichiamo le interfacce di rete disponibili identificate da vnstat.
$ ls /var/lib/vnstat enp0s3 enp0s8
Come puoi vedere, le interfacce di rete disponibili sono diverse da quella definita nel file vnstat.conf.
Se non imposti l'interfaccia predefinita corretta, potresti ricevere il seguente errore durante la visualizzazione del traffico della larghezza di banda della rete ogni ora o ogni mese.
Error: Unable to read database "/var/lib/vnstat/eth0": No such file or directory
Ciò accade perché l'interfaccia predefinita è definita in modo errato in /etc/vnstat.conf
file.
Per configurare l'interfaccia di rete predefinita, modifica /etc/vnstat.conf
file e aggiornare il nome dell'interfaccia corretto. Puoi modificare direttamente /etc/vnstat.conf
file e aggiorna il nome dell'interfaccia a livello globale. Tuttavia, si consiglia di creare il proprio file di configurazione vnstat nella directory HOME dell'utente.
$ cp /etc/vnstat.conf ~/.vnstatrc
$ nano ~/.vnstatrc
Userò enp0s3
come mia interfaccia predefinita.
Sostituisci enp0s3 con il tuo. Salva e chiudi il file.
Configura l'interfaccia di rete predefinita su FreeBSD
Modifica il file di configurazione di vnstat:
# vi /usr/local/etc/vnstat.conf
Se il file di configurazione non è disponibile, creane uno nuovo utilizzando il file di configurazione di esempio:
# cp /usr/local/etc/vnstat.conf.sample /usr/local/etc/vnstat.conf
Quindi, aggiorna l'interfaccia di rete predefinita corretta:
Interface "em0"
Salva e chiudi il file.
Monitoraggio della larghezza di banda della rete utilizzando vnStat in Linux e Unix
Se non conosci vnStat, apri la sezione della guida di vnStat e guarda l'elenco delle opzioni disponibili eseguendo questo comando:
$ vnstat --help
Risultato di esempio:
vnStat 1.18 by Teemu Toivola <tst at iki dot fi> -q, --query query database -h, --hours show hours -d, --days show days -m, --months show months -w, --weeks show weeks -t, --top10 show top 10 days -s, --short use short output -u, --update update database -i, --iface select interface (default: eth0) -?, --help short help -v, --version show version -tr, --traffic calculate traffic -ru, --rateunit swap configured rate unit -l, --live show transfer rate in real time See also "--longhelp" for complete options list and "man vnstat".
Visualizzazione dell'utilizzo della larghezza di banda di tutte le interfacce
Ora mostriamo il traffico di rete di tutte le interfacce.
Per farlo, esegui semplicemente:
$ vnstat
Risultato di esempio:
rx / tx / total / estimated enp0s3: Sep '19 120 KiB / 66 KiB / 186 KiB / 0 KiB today 120 KiB / 66 KiB / 186 KiB / -- enp0s8: Sep '19 128 KiB / 88 KiB / 216 KiB / 0 KiB today 128 KiB / 88 KiB / 216 KiB / --
Ecco,
rx
- Il traffico ricevutotx
- Il traffico trasferito
Attendere alcuni minuti affinché Vnstat inizi a raccogliere l'utilizzo del traffico di rete. Se avvii vnstat subito dopo averlo installato, potresti ottenere un risultato simile a quello di seguito.
enp0s3: Not enough data available yet.
In alternativa, otterrai il seguente output in distribuzioni basate su RPM come CentOS.
No database found, nothing to do. Use --help for help. A new database can be created with the following command: vnstat --create -i eth0 Replace 'eth0' with the interface that should be monitored. The following interfaces are currently available: enp0s3 (1000 Mbit) lo
Non mostra nulla ora. È perché vnStat non ha ancora iniziato a raccogliere le statistiche.
Visualizzazione dell'utilizzo della larghezza di banda di una particolare interfaccia
Per visualizzare l'utilizzo della larghezza di banda di rete di una particolare interfaccia, ad esempio enp0s3 , menziona semplicemente il nome della scheda di rete come di seguito.
$ vnstat -i enp0s3
Risultato di esempio:
Database updated: Mon Sep 9 08:26:47 2019 enp0s3 since 09/09/2019 rx: 136 KiB tx: 74 KiB total: 210 KiB monthly rx | tx | total | avg. rate ------------------------+-------------+-------------+--------------- Sep '19 136 KiB | 74 KiB | 210 KiB | 0.00 kbit/s ------------------------+-------------+-------------+--------------- estimated -- | -- | -- | daily rx | tx | total | avg. rate ------------------------+-------------+-------------+--------------- today 136 KiB | 74 KiB | 210 KiB | 0.06 kbit/s ------------------------+-------------+-------------+--------------- estimated -- | -- | -- |
Qui, enp0s3
è il nome della mia scheda di rete. Puoi trovare il nome della tua scheda di rete utilizzando "ip addr"
comando.
Su FreeBSD , il nome della scheda di rete è em0
. Per visualizzare la sua larghezza di banda, esegui semplicemente:
# vnstat -i em0
Risultato di esempio:
Database updated: 2019-09-09 16:40:00 em0 since 2019-09-09 rx: 606.84 KiB tx: 56.12 KiB total: 662.96 KiB monthly rx | tx | total | avg. rate ------------------------+-------------+-------------+--------------- 2019-09 606.84 KiB | 56.12 KiB | 662.96 KiB | 7 bit/s ------------------------+-------------+-------------+--------------- estimated -- | -- | -- | daily rx | tx | total | avg. rate ------------------------+-------------+-------------+--------------- today 606.84 KiB | 56.12 KiB | 662.96 KiB | 90 bit/s ------------------------+-------------+-------------+--------------- estimated 873 KiB | 80 KiB | 953 KiB
Visualizzazione dell'utilizzo della larghezza di banda all'ora
Mostriamo i risultati del traffico di rete all'ora. Per farlo, esegui:
$ vnstat -h
Risultato di esempio:
enp0s3 09:46 ^ r | r r | r r | r r | r r r | rt rt r | rt rt r | rt rt rt | rt rt rt | r rt rt rt -+---------------------------------------------------------------------------> | 10 11 12 13 14 15 16 17 18 19 20 21 22 23 00 01 02 03 04 05 06 07 08 09 h rx (KiB) tx (KiB) ][ h rx (KiB) tx (KiB) ][ h rx (KiB) tx (KiB) 10 0 0 ][ 18 0 0 ][ 02 0 0 11 0 0 ][ 19 0 0 ][ 03 0 0 12 0 0 ][ 20 0 0 ][ 04 0 0 13 0 0 ][ 21 0 0 ][ 05 0 0 14 0 0 ][ 22 0 0 ][ 06 12 7 15 0 0 ][ 23 0 0 ][ 07 86 48 16 0 0 ][ 00 0 0 ][ 08 88 45 17 0 0 ][ 01 0 0 ][ 09 59 32
Se hai più interfacce, usa -i parametro per visualizzare il traffico di rete orario di una scheda specifica come di seguito.
$ vnstat -h -i enp0s8
Lettura consigliata:
- Come limitare la larghezza di banda della rete in Linux utilizzando Wondershaper
Visualizzazione dell'utilizzo giornaliero della larghezza di banda
Usa '-d'
flag per visualizzare il traffico di rete dell'interfaccia di rete predefinita al giorno.
$ vnstat -d
Risultato di esempio:
enp0s3 / daily day rx | tx | total | avg. rate ------------------------+-------------+-------------+--------------- 09/09/2019 258 KiB | 138 KiB | 396 KiB | 0.09 kbit/s ------------------------+-------------+-------------+--------------- estimated -- | -- | -- |
Visualizzazione dell'utilizzo settimanale della larghezza di banda
$ vnstat -w
Risultato di esempio:
enp0s3 / weekly rx | tx | total | avg. rate ---------------------------+-------------+-------------+--------------- last 7 days 258 KiB | 138 KiB | 396 KiB | 0.00 kbit/s current week 258 KiB | 138 KiB | 396 KiB | 0.09 kbit/s ---------------------------+-------------+-------------+--------------- estimated -- | -- | -- |
Visualizzazione dell'utilizzo mensile della larghezza di banda
Per visualizzare l'utilizzo mensile di una scheda di interfaccia di rete, utilizzare '-m'
interruttore.
$ vnstat -m
Risultato di esempio:
enp0s3 / monthly month rx | tx | total | avg. rate ------------------------+-------------+-------------+--------------- Sep '19 258 KiB | 138 KiB | 396 KiB | 0.00 kbit/s ------------------------+-------------+-------------+--------------- estimated -- | -- | -- |
Visualizzazione dell'utilizzo della larghezza di banda dei primi dieci giorni precedenti
Per visualizzare l'utilizzo della rete degli ultimi dieci giorni, utilizza '-t'
bandiera.
$ vnstat -t
Risultato di esempio:
enp0s3 / top 10 # day rx | tx | total | avg. rate -----------------------------+-------------+-------------+--------------- no data available -----------------------------+-------------+-------------+---------------
Non mostra alcun dato dei primi dieci giorni, perché ho installato Vnstat oggi.
Lettura consigliata:
- Installa lo strumento di monitoraggio delle prestazioni di NetData su Linux
Visualizzazione dell'utilizzo della larghezza di banda in un momento particolare
Possiamo anche visualizzare l'utilizzo della larghezza di banda in un determinato momento.
Per visualizzare l'utilizzo della larghezza di banda degli ultimi dieci secondi, esegui:
$ vnstat -i enp0s3 -tr 10
Risultato di esempio:
7 packets sampled in 10 seconds Traffic average for enp0s3 rx 0.28 kbit/s 0 packets/s tx 0.14 kbit/s 0 packets/s
Visualizzazione dell'utilizzo della larghezza di banda in tempo reale
Per avviare il monitoraggio in tempo reale dell'utilizzo di una particolare scheda di interfaccia, eseguire:
$ vnstat -i enp0s3 -l
Risultato di esempio:
Monitoring enp0s3... (press CTRL-C to stop) rx: 0 kbit/s 0 p/s tx: 0 kbit/s 0 p/s
Per interrompere il monitoraggio in tempo reale, premi CTRL-C
.
Per maggiori dettagli, fare riferimento alle pagine man:
$ man vnstat
Conclusione
VnStat è uno strumento utile e utile per monitorare l'utilizzo di Internet o il traffico di rete per una o più interfacce di rete. Nel caso ti stia chiedendo quanta larghezza di banda stai consumando giornalmente/mensile, puoi utilizzare questo strumento per scoprirlo senza l'aiuto del tuo provider di servizi Internet o utilizzando strumenti di terze parti.