Soluzione 1:
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
Soluzione 2:
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 dei trend storici "mediati". Calcola la media e memorizza i contatori in incrementi sempre più non risoluti man mano che si va indietro nel tempo.
Questo è, tuttavia, configurabile impostando gli RRA in modo appropriato. Confesso di non sapere assolutamente nulla sulla configurazione di questi, tuttavia, e personalmente non ho mai avuto fortuna nel portarli oltre il mio set standard (15 minuti, 8 ore, 1 settimana, 1 mese, 1 anno). Consiglierei di esaminare la configurazione degli RRA in modo che si aspettino input giornalieri e forniscano il contatore della larghezza di banda da netstat. Otterrai alcuni dati storici molto interessanti e approfondimenti sui tuoi modelli di utilizzo.
Per rispondere al tuo problema attuale, per assicurarti di non superare un limite di larghezza di banda giornaliero; Consiglierei di prendere quotidianamente i contatori netstat per l'interfaccia in questione. Puoi confrontare il traffico di ieri all'ora t con i contatori di oggi all'ora t e scoprire quanto è stato trasferito. Probabilmente sarebbe sufficiente uno script semplice con una memorizzazione in un file di testo semplice del valore precedente. Puoi quindi disabilitare l'interfaccia se rilevi una larghezza di banda superata o monitorarla durante il giorno e notificare a un amministratore se ti stai avvicinando al limite.
Per ottenere i byte di input su un sistema OSX puoi 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}'
Potresti 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 di netstat in modo che corrisponda al tuo sistema (poiché so che non stai utilizzando OSX).
Soluzione 3:
Il pacchetto sysstat contiene l'utilità sar. Sar è un "profiler" di sistema estremamente configurabile, in mancanza di un termine migliore, che raccoglie varie statistiche ad intervalli predefiniti (cron). Questi sono memorizzati in file binari, uno per ogni giorno, che vengono in genere ruotati settimanalmente, ma configurabili. Il programma sar può essere utilizzato per estrarre le statistiche da questi file e questi risultati possono essere facilmente rappresentati graficamente con qualsiasi programma per ufficio o gnuplot (la mia preferenza personale).
http://pagesperso-orange.fr/sebastien.godard/ <=Informazioni Sar
http://www.gnuplot.info/ <=informazioni su gnuplot
Soluzione 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 è comodo.
Utilizza anche pochissime risorse di sistema;)
Soluzione 5:
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 dei dati.