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


15

Devo conservare le statistiche del traffico di rete giornaliero per una macchina linux (CentOS 5).

C'è un modo per farlo usando strumenti o utility standard / nativi?
O devo scaricare un software speciale per questo?

Grazie.


1
Quanto sono precise le statistiche? In altre parole, hai bisogno di qualcosa di abbastanza specifico per ricaricare la larghezza di banda o le medie sono buone?
Zypher,

Devo sapere esattamente quanto traffico sono stato utilizzato ogni giorno perché non voglio superare determinati limiti.
GetFree,

1
Quindi non vuoi nessuno degli strumenti basati su RRD (Cactus, MRTG, Munin, ecc.) RRD fa la media dei numeri in modo da non ottenere mai una metrica esatta e in realtà peggiorerà nel tempo.
Zypher,

Risposte:


8

Ciò che Zypher stava dicendo su rrdtool (e qualsiasi altra cosa che lo utilizza come backend - MRTG, Cacti ecc.) È probabilmente corretto. RRDTool è progettato per essere uno strumento di analisi delle tendenze storiche "mediato". Calcola la media e memorizza i contatori in incrementi sempre più non risolti con il passare del tempo.

Ciò è, tuttavia, configurabile configurando gli RRA in modo appropriato. Confesso di non sapere assolutamente nulla sulla configurazione di questi, tuttavia, e personalmente non ho mai avuto fortuna a farli andare oltre il mio set standard (15 minuti, 8 ore, 1 settimana, 1 mese, 1 anno). Consiglierei di cercare di configurare gli RRA in modo che si aspettino input giornalieri e alimentino il tuo contatore di larghezza di banda da netstat. Riceverai alcuni dati storici molto belli e informazioni dettagliate sui tuoi modelli di utilizzo.

Per rispondere al tuo attuale problema, assicurati di non superare un limite giornaliero di larghezza di banda; Consiglierei di prendere i contatori netstat ogni giorno per l'interfaccia in questione. Puoi confrontare il traffico di ieri al momento t con i contatori di oggi al momento t e scoprire quanto è stato trasferito. Uno script semplice con una semplice archiviazione di file di testo del valore precedente sarebbe probabilmente sufficiente. È quindi possibile disabilitare l'interfaccia se si rileva una larghezza di banda superata o si monitora durante il giorno e si comunica a un amministratore se si sta avvicinando il limite.

Per ottenere i byte di input su un sistema OSX è possibile utilizzare il seguente set di comandi:

netstat -ib | grep -e "$INTERFACE" -m 1 | awk '{print $7}'

Al contrario, l'output può essere ottenuto con:

netstat -ib | grep -e "$INTERFACE" -m 1 | awk '{print $10}'

È possibile inserire i contatori pertinenti in un file flat archiviato da qualche parte e confrontarlo con:

#!/bin/bash
set -e # exit if any error occurs

previous_days_bytes_xferred=`cat $flatfile_storage`
todays_bytes_xferred=`netstat -ib | grep -e "$INTERFACE" -m 1 | awk '{print $10}'`

if [ $((todays_bytes_xferred - previous_days_bytes_xferred)) -gt $threshold ]; then
   DO SOME STUFF
fi
echo $todays_bytes_xferred > $flatfile_storage

Regola semplicemente l'elaborazione netstat in modo che corrisponda al tuo sistema (poiché so che non stai eseguendo OSX).


25

Suggerisco anche di usare VnStat

vnStat 1.6 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 top10
     -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
     -l,  --live           show transfer rate in real time


 eth0  /  monthly

   month         rx      |      tx      |   total
-------------------------+--------------+--------------------------------------
  Oct '09     225.70 GB  |   798.52 GB  |     1.00 TB   %%%%:::::::::::::
  Nov '09     138.46 GB  |   616.54 GB  |   755.01 GB   %%::::::::::

 eth0  /  daily

day         rx      |     tx      |  total
------------------------+-------------+----------------------------------------
   31.12.      6.56 GB  |   34.39 GB  |   40.95 GB   %%%::::::::::::::::
   01.01.      1.13 GB  |  746.92 MB  |    1.86 GB

4

Il pacchetto sysstat contiene l'utilità sar. Sar è un "profiler" di sistema estremamente configurabile, per mancanza di un termine migliore, che raccoglie varie statistiche a intervalli predefiniti (cron). Questi sono memorizzati in file binari, uno per ogni giorno, che in genere vengono ruotati settimanalmente, ma è configurabile. Il programma sar può essere usato per estrarre le statistiche da questi file e questi risultati possono essere facilmente rappresentati graficamente con qualsiasi programma Office o gnuplot (la mia preferenza personale).

http://pagesperso-orange.fr/sebastien.godard/ <= Informazioni Sar
http://www.gnuplot.info/ <= Informazioni gnuplot


4

Vnstat è un ottimo monitor del traffico giornaliero / settimanale / mensile basato su console. Ti consente persino di monitorare il traffico in tempo reale, il che è utile.

Utilizza anche pochissime risorse di sistema;)


2

Vuoi MRTG che è uno strumento di monitoraggio della rete, è la cosa che produce tutti i grafici di rete che vedi sul web (con rdtool per trasformare i numeri in immagini)

Se non vuoi configurarlo, o hai solo bisogno di qualcosa di più semplice, puoi usare iptables per registrare il trasferimento di dati.


+1 per la soluzione iptables
GetFree

il collegamento iptables è morto - forse questo? qaoverflow.com/question/…
twodayslate,

1

Ho usato MRTG, è una soluzione molto bella e ci sono altri strumenti che sembrano interessanti e che forniscono molte informazioni sul traffico chiamato ntop un probe di rete, qui trovi un link sull'installazione di ntop su CentOS


1

MRTG o Cactus. I cactus sono una seccatura da configurare, ma danno alcuni grafici molto belli. MRTG è facile da impostare una trama di base, ma per qualsiasi cosa carina o complicata, è piuttosto dura.


1

Munin è un altro strumento basato su RRD molto facile da configurare; le statistiche di rete predefinite sono piuttosto basilari, ma è facile aggiungere plugin aggiuntivi. Ho allegato una copia delle statistiche giornaliere e settimanali su uno dei miei server; ottieni anche statistiche mensili e annuali su un'altra pagina.

Grafico della rete Munin


L'immagine è sparita ora
Luke canadese il
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.