GNU/Linux >> Linux Esercitazione >  >> Linux

Come monitorare e registrare il traffico di rete su Linux utilizzando vnStat

Questo articolo fa parte della nostra serie di articoli sul monitoraggio delle prestazioni in corso.

In questo articolo, concentriamoci su come monitorare il traffico di rete e registrarlo per un'analisi successiva utilizzando l'utilità vnstat.

vnstat è un'utilità della riga di comando che visualizza e registra il traffico di rete delle interfacce sui sistemi. Ciò dipende dalle statistiche di rete fornite dal kernel. Quindi, vnstat non aggiunge alcun carico aggiuntivo al tuo sistema per monitorare e registrare il traffico di rete.

1. Installa vnStat

Installa vnStat sul tuo sistema dal repository specifico per le tue distribuzioni Linux.

Ad esempio, su Ubuntu usa apt-get per installarlo come mostrato di seguito.

$ apt-get install vnstat

Se preferisci installarlo dal sorgente, scarica il sorgente vnStat da qui o usa il wget come mostrato di seguito per scaricarlo e installarlo.

Tieni presente che puoi anche utilizzare Mergecap e Tshark per analizzare il traffico di rete.

wget http://humdi.net/vnstat/vnstat-1.11.tar.gz
cd vnstat-1.11
make
make install

Tieni presente che non è necessario eseguire "./configure" come di solito si fa per altre installazioni basate su sorgenti.

Poiché vnstat dipende dalle informazioni fornite dal kernel, esegui il comando seguente per verificare se il kernel fornisce tutte le informazioni che vnStat si aspetta.

# vnstat --testkernel
This test will take about 60 seconds.
Everything is ok.

2. Scegli un'interfaccia da monitorare utilizzando vnStat

vnStat non monitora alcuna interfaccia a meno che tu non lo richieda espressamente.

Per iniziare a monitorare eth0, procedi come segue. Questo deve essere eseguito solo una volta. Come puoi vedere di seguito, questo crea un file di database eth0 nella directory /var/lib/vnstat che conterrà tutti i messaggi di registro del traffico di rete per questa specifica interfaccia.

# vnstat -u -i eth0
Error: Unable to read database "/var/lib/vnstat/eth0".
Info: -> A new database has been created.

Per visualizzare tutte le interfacce disponibili sul tuo sistema che vnStat può monitorare, procedi come segue.

# vnstat --iflist
Available interfaces: lo eth0 eth1 sit0

Avvia il vnstatd (daemon vnstat), che monitorerà e registrerà queste informazioni in background.

# vnstatd -d
# ps -ef | grep vnst
root     14353     1  0 09:12 ?        00:00:00 vnstatd -d
root     14355   330  0 09:12 pts/1    00:00:00 grep vnst

Nota:puoi aggiungere "vnstatd -d" al tuo file /etc/rc.local, in modo che si avvii automaticamente ogni volta che riavvii il sistema.

3. Utilizzo di base di vnStat

vnstat senza alcun argomento ti fornirà un rapido riepilogo con le seguenti informazioni:

  • L'ultima volta in cui è stato aggiornato il database vnStat situato in /var/lib/vnstat/
  • Da quando ha iniziato a raccogliere le statistiche per un'interfaccia specifica
  • I dati statistici di rete (byte trasmessi, byte ricevuti) degli ultimi due mesi e degli ultimi due giorni.
# vnstat
Database updated: Sat Oct 15 11:54:00 2011

   eth0 since 10/01/11

          rx:  12.89 MiB      tx:  6.94 MiB      total:  19.82 MiB

   monthly
                     rx      |     tx      |    total    |   avg. rate
     ------------------------+-------------+-------------+---------------
       Sep '11     12.90 MiB |    6.90 MiB |   19.81 MiB |    0.14 kbit/s
       Oct '11     12.89 MiB |    6.94 MiB |   19.82 MiB |    0.15 kbit/s
     ------------------------+-------------+-------------+---------------
     estimated        29 MiB |      14 MiB |      43 MiB |

	 daily
                     rx      |     tx      |    total    |   avg. rate
     ------------------------+-------------+-------------+---------------
     yesterday      4.30 MiB |    2.42 MiB |    6.72 MiB |    0.64 kbit/s
         today      2.03 MiB |    1.07 MiB |    3.10 MiB |    0.59 kbit/s
     ------------------------+-------------+-------------+---------------
     estimated         4 MiB |       2 MiB |       6 MiB |

Nota:se hai appena installato vnStat, visualizzerà il seguente messaggio "eth0:Non sono ancora disponibili dati sufficienti.". Attendi qualche istante e riprova il comando.

4. vnStat ore, giorni, mesi, settimane Dati di rete

Utilizzare "vnstat -h" (o) "vnstat -hours" per la suddivisione dei dati delle statistiche di rete per ora. Viene visualizzato anche un grafico basato su testo.

Usa "vnstat -d" (o) "vnstat –days" per la suddivisione dei dati delle statistiche di rete per giorno.

# vnstat -d
 eth0  /  daily
         day         rx      |     tx      |    total    |   avg. rate
     ------------------------+-------------+-------------+---------------
      10/10/11      2.48 MiB |    1.28 MiB |    3.76 MiB |    0.36 kbit/s
      10/11/11      4.07 MiB |    2.17 MiB |    6.24 MiB |    0.59 kbit/s
      10/12/11      4.30 MiB |    2.42 MiB |    6.72 MiB |    0.64 kbit/s
      10/13/11      2.06 MiB |    1.10 MiB |    3.16 MiB |    0.60 kbit/s
     ------------------------+-------------+-------------+---------------
     estimated         3 MiB |       1 MiB |       4 MiB |

Usa "vnstat -m" (o) "vnstat –months" per la suddivisione dei dati delle statistiche di rete per mese.

# vnstat --m

 eth0  /  monthly

       month        rx      |     tx      |    total    |   avg. rate
    ------------------------+-------------+-------------+---------------
      Sep '11     12.90 MiB |    6.90 MiB |   19.81 MiB |    0.14 kbit/s
      Oct '11     12.92 MiB |    6.96 MiB |   19.89 MiB |    0.15 kbit/s
    ------------------------+-------------+-------------+---------------
    estimated        29 MiB |      14 MiB |      43 MiB |

Analogamente a giorni e mesi, utilizza "vnstat -m" (o) "vnstat –months" per la suddivisione dei dati delle statistiche di rete per settimana.

5. Esporta i dati in Excel o altro DB

Se desideri esportare i dati di monitoraggio della rete in un database excel o altro, puoi scaricare i dati in un formato di testo delimitato da punto e virgola, che puoi importare in Excel o altro db.

Le prime righe dell'output –dumpdb contengono alcune informazioni di intestazione. Dopo le righe di intestazione, ha 30 righe che iniziano con "d;" (d;0;1318316406;1;0;386;698;1). Questa riga ha le seguenti informazioni separate da punto e virgola.

  • d – sta per giorni
  • 0 – numero del giorno. 0 indica oggi.
  • 1318316406 – dati in formato Unix
  • Seguito da questo, contiene i byte trasmessi e ricevuti
$ vnstat --dumpdb
interface;eth0
created;1218562937
updated;1218546895
totalrx;3
totaltx;1
...
...
d;0;1328316406;1;0;386;698;1
d;1;1345262937;2;1;494;289;1

Puoi anche utilizzare “vnstat –oneline”, che visualizza il riepilogo del traffico su un'unica riga in cui i valori sono delimitati da punto e virgola.

$ vnstat --oneline
1;eth0;10/11/11;1.45 MiB;801 KiB;2.23 MiB;0.59 kbit/s;Oct '11;3.93 MiB;2.06 MiB;6.00 MiB;0.05 kbit/s;3.93 MiB;2.06 MiB;6.00 MiB

6. Visualizza statistiche di rete in tempo reale

Usa "vnstat -l" o "vnstat –live" per visualizzare le informazioni sulle statistiche di rete in tempo reale.

$ vnstat -l
Monitoring eth0...    (press CTRL-C to stop)

   rx:        2 kbit/s     5 p/s          tx:        2 kbit/s     4 p/s

Dopo aver premuto Ctrl-C per interromperlo, vnstat visualizzerà un riepilogo per il periodo di tempo in cui era in esecuzione il monitor live.

7. Modifica il formato di output predefinito di vnstat

Utilizzare "vnstat -s" o "vnstat -short" che visualizzerà un breve riepilogo delle statistiche di rete. Ciò include le statistiche per oggi, ieri e per il mese in corso.

$ vnstat -s (--short)

                      rx      /      tx      /     total    /   estimated
 eth0:
       Oct '11      3.93 MiB  /    2.06 MiB  /    6.00 MiB  /   13.00 MiB
     yesterday      2.48 MiB  /    1.28 MiB  /    3.76 MiB
         today      1.45 MiB  /     801 KiB  /    2.23 MiB  /      --

Puoi anche utilizzare "vnstat –style 0", che fornirà un output di colonna stretta, che è più facile da leggere rispetto all'output di colonna più ampio predefinito.

$ vnstat --style 0

Di seguito sono riportati i numeri di stile disponibili:

  • 0 – Uscita ridotta
  • 1 – Abilita colonna barra
  • 2 – Abilita la colonna della barra e visualizza il tasso di traffico medio in sintesi
  • 3 – Visualizza il tasso di traffico medio in tutti gli output
  • 4 – se combinato con la modalità live (vnstat -l), disabilita i caratteri di controllo del terminale

8. Visualizza i primi 10 giorni di traffico

Usa "vnstat -t" o "vnstat –top10" per visualizzare i primi 10 giorni di traffico di tutti i tempi.

$ vnstat --top10

 eth0  /  top 10

    #      day          rx      |     tx      |    total    |   avg. rate
   -----------------------------+-------------+-------------+---------------
    1   10/12/11       4.30 MiB |    2.42 MiB |    6.72 MiB |    0.64 kbit/s
    2   10/11/11       4.07 MiB |    2.17 MiB |    6.24 MiB |    0.59 kbit/s
    3   10/10/11       2.48 MiB |    1.28 MiB |    3.76 MiB |    0.36 kbit/s
    ....
   -----------------------------+-------------+-------------+---------------

Articoli precedenti nella serie sul monitoraggio e l'ottimizzazione delle prestazioni di Linux:

  • Introduzione al monitoraggio delle prestazioni e all'ottimizzazione di Linux
  • 15 Esempi pratici di comandi principali di Linux
  • 7 Esempi pratici di comandi PS per il monitoraggio dei processi
  • 10 utili esempi Sar (Sysstat) per il monitoraggio delle prestazioni UNIX/Linux
  • 10 esempi di iozone per la misurazione delle prestazioni di I/O del disco su Linux
  • 24 esempi iostat, vmstat e mpstat per il monitoraggio delle prestazioni di Linux

Linux
  1. Come impostare l'indirizzo IP statico e configurare la rete in Linux

  2. Come gestire i file di registro utilizzando Logrotate in Linux

  3. Linux:come inoltrare il traffico tra gli spazi dei nomi di rete Linux?

  4. Come monitorare il traffico di rete su Linux usando vnStat

  5. Linux:come misurare il traffico di rete giornaliero/mensile?

Come monitorare l'uptime del sistema Linux utilizzando Uptimed

Monitora il traffico di rete utilizzando il comando netstat in Linux

Come installare nload per monitorare il traffico di rete in tempo reale

Come configurare la rete in Linux utilizzando Netplan e NMTUI

Come monitorare il server Linux e le metriche dal browser utilizzando Scout Realtime

Come installare e utilizzare l'analizzatore del traffico di rete Linux basato sul Web di Darkstat