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

15

Necesito mantener estadísticas del tráfico de red diario para una máquina Linux (CentOS 5).

¿Hay alguna manera de hacerlo utilizando herramientas o utilidades estándar / nativas?
¿O tengo que descargar un software especial para eso?

Gracias.

Liberarse
fuente
1
¿Qué tan precisas necesitas las estadísticas? En otras palabras, ¿necesita algo lo suficientemente específico como para volver a facturar el ancho de banda o los promedios son buenos?
Zypher
Necesito saber exactamente cuánto tráfico he usado cada día porque no quiero exceder ciertos límites.
GetFree
1
Entonces no desea ninguna de las herramientas basadas en RRD (Cacti, MRTG, Munin, etc.) RRD promedia los números para que nunca obtenga una métrica exacta, y en realidad empeorará con el tiempo.
Zypher

Respuestas:

8

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 'promediada'. Promedia y almacena contadores en incrementos de 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 no saber absolutamente nada acerca de la configuración de estos, y 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 buscar la configuración de las RRA para esperar una entrada diaria y alimentarla con su contador de ancho de banda desde netstat. Obtendrá algunos datos históricos muy buenos e información sobre sus patrones de uso.

Para responder a su problema actual, asegúrese de no exceder el límite diario de ancho de banda; Recomendaría tomar los contadores de netstat diariamente para la interfaz en cuestión. Puede comparar el tráfico de ayer a la hora t con los contadores de hoy a la hora t y averiguar cuánto se transfirió. Un script simple con un almacenamiento de archivo de texto plano del valor anterior probablemente sería suficiente. Luego puede deshabilitar la interfaz si detecta un ancho de banda excedido o monitorearlo durante todo el 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 hacer estallar 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).

Jordan T. Cox
fuente
25

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
Chico loco
fuente
4

El paquete sysstat contiene la utilidad sar. Sar es un "perfilador" de sistema 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 generalmente se rotan semanalmente, pero que es configurable. 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 gnuplot

d34dh0r53
fuente
4

Vnstat es una gran consola basada en monitor de tráfico diario / semanal / mensual. Incluso le permite monitorear el tráfico en tiempo real, lo cual es útil.

Utiliza muy pocos recursos del sistema también;)

Hilton D
fuente
2

Desea 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.

gbjbaanb
fuente
+1 para la solución iptables
GetFree
el enlace de iptables está muerto, ¿quizás esto? qaoverflow.com/question/…
twodayslate
1

Utilicé mrtg, es una solución muy buena, y hay otras herramientas que parecen interesantes y que brindan mucha información sobre el tráfico llamado ntop una sonda de red, aquí encontrará un enlace sobre cómo instalar ntop en CentOS

Ali Mezgani
fuente
1

Ya sea MRTG o Cacti. Es difícil configurar los cactus, pero ofrece gráficos muy bonitos. MRTG es fácil de establecer una trama básica, pero para cualquier cosa bonita o complicada, es bastante difícil.

Aaron Brown
fuente
1

Munin es otra buena herramienta basada en RRD que es muy fácil de configurar; Las estadísticas de red predeterminadas son bastante básicas, pero es fácil agregar complementos adicionales. Adjunto una copia de las estadísticas diarias y semanales en uno de mis servidores; También obtienes estadísticas mensuales y anuales en una página diferente.

Gráfico de red Munin

gareth_bowles
fuente
La imagen ya no está
canadiense Luke el