Come è possibile monitorare l'utilizzo totale dei dati Internet durante i riavvii?


55

Alcuni provider di banda larga impongono un limite di download mensile, addebitando un supplemento se si supera. È anche abbastanza facile superare alcuni dei limiti inferiori semplicemente installando / aggiornando i pacchetti e navigando "normalmente" (che per me include programmi TV e film in streaming).

Ciò significa che è necessario limitare la quantità di utilizzo di Internet, ma è difficile sapere quando.

Il Monitor di sistema aiuta un po 'con questo dando un totale ricevuto / totale inviato nella sezione di rete della scheda Risorse. Tuttavia, questo viene ripristinato ad ogni riavvio. Sarebbe bello se ci fosse un modo per ricevere un totale mensile in modo da poter sapere quanto sei vicino a superare il tuo limite e forse anche ricevere avvisi se sembra che stai per superare i limiti.

Qualcuno sa come raggiungere questo obiettivo?


Risposte:


38

Puoi dare un'occhiata a vnstat . È basato sulla riga di comando ed è disponibile nel repository.

Puoi iniziare con sudo vnstat -u -i [interface]

Per vedere le statistiche sudo vnstat -i [interface]


27

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 in realtà non annuserà alcun traffico e garantisce anche un leggero utilizzo delle risorse di sistema.

In questo tutorial esamineremo:

  • Caratteristiche
  • Installazione
  • Configurazione
  • Avviare il servizio Systemd
  • Utilizzo (dalla riga di comando)
  • Conky esempio

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 usando Ctrl+ Alt+ Te digitare al prompt:

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.confconseguenza. Per elencare tutte le interfacce disponibili per vnstat, usare:

vnstat --iflist

Per iniziare a monitorare una particolare interfaccia è necessario inizializzare prima un database. Ogni interfaccia ha bisogno del proprio database. Il comando per inizializzare uno per l'interfaccia eth0 è:

sudo vnstat -u -i eth0 

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 vnstatpoi 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:

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 |

Conky esempio

Conky è un popolare monitor di sistema leggero utilizzato in molte distribuzioni Linux. È possibile vnStat totali della larghezza di banda sul display conky in questo modo:

inserisci qui la descrizione dell'immagine

Nota quando la foto è stata scattata Yesterdaydomenica, il che spiega perché il totale settimanale è inferiore.

Il codice conky per raggiungere questo obiettivo è:

${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}

Per risparmiare spazio sulla mia finestra stretta ho usato "G" invece di "GiB", "M" invece di "MiB", ecc. Se hai più proprietà dello schermo cambia substr ($10, 1, 1)in $10e lo stesso per $9.

Potrebbe essere necessario passare eth0a wlan0o eth1, ecc. A seconda del nome della rete segnalato da ifconfig.


È possibile "filtrare" il traffico di rete locale? Ho molto traffico locale e non voglio contarlo per il mio utilizzo di Internet.
JPelletier

@JPelletier L'autore di vnStat è citato dicendo che non è possibile. Ha citato questo thread in cui circa 20 persone hanno raccolto $ 280 per pagare qualcuno per fare esattamente quello che stai chiedendo: forum.netgate.com/topic/29677/… Doug Smythies è un esperto nel monitoraggio del traffico per indirizzo IP e io chiedigli di guardare il tuo commento.
WinEunuuchs2Unix

Grazie per la risposta! Attualmente sto usando iftopper diagnosticare l'utilizzo di Internet dal vivo, ma avere le informazioni storiche sarebbe bello
JPelletier

@JPelletier: il mio router è un server Ubuntu che esegue uno script iptables per la funzione di routing / firewall. Solo il traffico WAN può essere monitorato tramite l'interfaccia WAN. Per un computer Ubuntu all'interno di una LAN uno potrebbe essere in grado di catturare tutto con tcpdump e quindi filtrare la LAN e trasmettere i pacchetti come un modo per estrarre i pacchetti WAN da / verso quel computer. Vedi anche qui
Doug Smythies,

@DougSmythies Grazie per aver commentato! Mi chiedo se sia possibile creare due interfacce: eth0 ed eth1 legati alla stessa scheda di rete? Quindi tutto il traffico locale ha instradato attraverso eth1 e tutto il resto ha attraversato eth0 su cui vnstatraccogliere statistiche? Scusate se sembra una domanda stupida ...
WinEunuuchs2Unix

6

Sebbene non sia una risposta "ubuntu", per questo uso il firmware Tomato sul mio router WRT54G. Mi dà un uso mensile su / giù negli ultimi due anni, e la cosa bella (nel contesto della tua domanda) è che è per l'intera rete, non solo l'unico sistema su cui è in esecuzione (anche se questo punto è discutibile se il sistema in questione è il tuo router o direttamente collegato).


3
Pomodori squisiti. Ottimo sui panini, ancora meglio sui router.
Ryan Thompson,

6

Solo per espandere la risposta di rickys:

Con ifconfig | cut -c 1-8 | sort | uniq -upuoi elencare le interfacce:

enp0s31f
lo      
wlp3s0

Per un'interfaccia, è quindi possibile visualizzare il traffico in questo modo:

vnstati -vs -i wlp3s0 -o ~/summary.png

dà un bel riassunto:

inserisci qui la descrizione dell'immagine

  • rx è il traffico ricevuto
  • tx è il traffico trasferito

Assicurati di avere installato vnstati oltre a vnstat. sudo apt install vnstat vnstati
Dipendente organico

3

Raccomando l'utility ntop che è disponibile dai repository, funziona come un servizio e mantiene i record di utilizzo del traffico. I report sono disponibili sul server http interno (porta 3000). Puoi controllarli facilmente usando un browser,http://localhost:300/

Controlla cosa puoi ottenere da ntop sul sito Web ntop .


ntop non tiene traccia dell'utilizzo tra i riavvii, vero?
Erigami,

Secondo la documentazione che può utilizzare il plugin rrd, non mi sono testato.
João Pinto,

Come si usa quindi il plugin rrd?
Anwar,

2

Oltre a qualsiasi soluzione software, suggerirei di consultare il tuo provider. Molti di essi dispongono di strumenti di monitoraggio che ti inviano un avviso quando raggiungi un determinato limite o blocchi temporaneamente l'accesso. Questo ha il vantaggio di ottenere un numero "ufficiale".


Pochi anni dopo alla festa, ciò che non riconosci è che l'ISP non è preoccupato se vai oltre, in effetti è così che fanno i loro soldi, quindi i loro strumenti probabilmente non terranno conto di molti fattori come. Il mio ISP concede 40 GB di indennità per una commissione di £ 20, ma addebito £ 20 per Gigabyte, oltre il quale ho già superato la mia indennità e ricordo che ho rovinato il Natale, ma ho reso l'ISP felice di farmi pagare un grosso pezzo di denaro. Ho detto che il mio internet era spento, hanno detto che era attivo. Più tardi ho trovato qualcuno che si collegava direttamente al MUX tramite account casuali, ha spiegato molto
Mark Giblin,

0

Ho trovato " download monitor " come uno strumento molto buono e facile da usare per mostrare le statistiche dei dati. Ha un'interfaccia GUI che lo rende molto facile da usare. È disponibile su Ubuntu Software Center.

Scarica monitor

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.