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