Solución 1:
También sugiero usar 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
Solución 2:
Lo que Zypher estaba diciendo sobre rrdtool (y cualquier otra cosa que lo use como backend:MRTG, Cacti, etc.) probablemente sea correcto. RRDTool está diseñado para ser una herramienta de análisis de tendencias históricas 'promediadas'. Promedia y almacena contadores en incrementos cada vez más no resueltos a medida que retrocede en el tiempo.
Sin embargo, esto es configurable configurando los RRA de manera adecuada. Sin embargo, confieso que no sé absolutamente nada sobre la configuración de estos, y personalmente nunca he tenido la suerte de conseguirlos más allá de mi conjunto estándar (15 minutos, 8 horas, 1 semana, 1 mes, 1 año). Recomendaría considerar la configuración de los RRA para esperar una entrada diaria y alimentar su contador de ancho de banda de netstat. Obtendrá algunos datos históricos muy buenos e información sobre sus patrones de uso.
Para responder a su problema actual, sobre asegurarse de no exceder un límite de ancho de banda diario; Recomendaría tomar los contadores de netstat diariamente para la interfaz en cuestión. Puede comparar el tráfico de ayer en el momento t con los contadores de hoy en el momento t y averiguar cuánto se transfirió. Una secuencia de comandos simple con un almacenamiento de archivo de texto plano del valor anterior probablemente sea suficiente. Luego, puede deshabilitar la interfaz si detecta un ancho de banda excedido o monitorearlo a lo largo del día y notificar a un administrador si se está acercando a su límite.
Para obtener los bytes de entrada en un sistema OSX, puede usar el siguiente conjunto de comandos:
netstat -ib | grep -e "$INTERFACE" -m 1 | awk '{print $7}'
Por el contrario, la salida se puede obtener con:
netstat -ib | grep -e "$INTERFACE" -m 1 | awk '{print $10}'
Puede colocar los contadores relevantes en un archivo plano almacenado en algún lugar y compararlo 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
Simplemente ajuste el procesamiento de netstat para que coincida con su sistema (ya que sé que no está ejecutando OSX).
Solución 3:
El paquete sysstat contiene la utilidad sar. Sar es un "perfilador" de sistemas extremadamente configurable, a falta de un término mejor, que recopila varias estadísticas a intervalos predefinidos (cron). Estos se almacenan en archivos binarios, uno para cada día, que normalmente se rotan semanalmente, pero que son configurables. El programa sar se puede usar para extraer las estadísticas de estos archivos, y esos resultados se pueden graficar fácilmente con cualquier programa de oficina o gnuplot (mi preferencia personal).
http://pagesperso-orange.fr/sebastien.godard/ <=Información Sar
http://www.gnuplot.info/ <=información de gnuplot
Solución 4:
Vnstat es un excelente monitor de tráfico diario / semanal / mensual basado en consola. Incluso te permite monitorear el tráfico en tiempo real, lo cual es útil.
También utiliza muy pocos recursos del sistema;)
Solución 5:
Quiere MRTG, que es una herramienta de monitoreo de red, es lo que produce todos los gráficos de red que ve en la web (con rdtool para convertir los números en imágenes)
Si no desea configurarlo o simplemente necesita algo más simple, puede usar iptables para registrar la transferencia de datos.