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