GNU/Linux >> Tutoriales Linux >  >> Linux

Linux:¿Cómo medir el tráfico de red diario/mensual?

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.


Linux
  1. Linux:¿cómo dejar de compartir la red para el proceso actual?

  2. Linux:¿cómo reenviar tráfico entre espacios de nombres de red de Linux?

  3. Cómo monitorear y registrar el tráfico de red en Linux usando vnStat

  4. Cómo monitorear el tráfico de red en Linux usando vnStat

  5. ¿Cómo instalo una unidad de red WD MyBook World en Linux?

Cómo encontrar interfaces de red disponibles en Linux

Cómo cambiar la dirección MAC de la red en Linux

Cómo instalar y usar el analizador de tráfico de red de Linux basado en la web Darkstat

Cómo agregar una ruta en Linux

Cómo configurar Linux como un enrutador estático

Cómo usar el comando netstat en Linux