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.
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.
Risposte:
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).
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
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
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.
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
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.
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.