GNU/Linux >> Tutoriales Linux >  >> Linux

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

Este artículo forma parte de nuestra serie de artículos de supervisión continua del rendimiento.

En este artículo, centrémonos en cómo monitorear el tráfico de red y registrarlo para su posterior análisis mediante la utilidad vnstat.

vnstat es una utilidad de línea de comandos que muestra y registra el tráfico de red de las interfaces de sus sistemas. Esto depende de las estadísticas de red proporcionadas por el kernel. Por lo tanto, vnstat no agrega ninguna carga adicional a su sistema para monitorear y registrar el tráfico de la red.

1. Instalar vnStat

Instale vnStat en su sistema desde el repositorio específico para sus distribuciones de Linux.

Por ejemplo, en Ubuntu, use apt-get para instalarlo como se muestra a continuación.

$ apt-get install vnstat

Si prefiere instalarlo desde la fuente, descargue la fuente vnStat desde aquí o use el wget como se muestra a continuación para descargarlo e instalarlo.

Tenga en cuenta que también puede utilizar Mergecap y Tshark para analizar el tráfico de red.

wget http://humdi.net/vnstat/vnstat-1.11.tar.gz
cd vnstat-1.11
make
make install

Tenga en cuenta que no necesita hacer "./configure" que normalmente hace para otras instalaciones basadas en fuentes.

Dado que vnstat depende de la información proporcionada por el kernel, ejecute el siguiente comando para verificar si el kernel proporciona toda la información que espera vnStat.

# vnstat --testkernel
This test will take about 60 seconds.
Everything is ok.

2. Elija una interfaz para monitorear usando vnStat

vnStat no supervisa ninguna interfaz a menos que usted lo solicite específicamente.

Para comenzar a monitorear eth0, haga lo siguiente. Esto debe ejecutarse una sola vez. Como puede ver a continuación, esto crea un archivo de base de datos eth0 en el directorio /var/lib/vnstat que contendrá todos los mensajes de registro de tráfico de red para esta interfaz específica.

# vnstat -u -i eth0
Error: Unable to read database "/var/lib/vnstat/eth0".
Info: -> A new database has been created.

Para ver todas las interfaces disponibles en su sistema que vnStat puede monitorear, haga lo siguiente.

# vnstat --iflist
Available interfaces: lo eth0 eth1 sit0

Inicie vnstatd (demonio vnstat), que supervisará y registrará esta información en segundo plano.

# vnstatd -d
# ps -ef | grep vnst
root     14353     1  0 09:12 ?        00:00:00 vnstatd -d
root     14355   330  0 09:12 pts/1    00:00:00 grep vnst

Nota:puede agregar "vnstatd -d" a su archivo /etc/rc.local, para que se inicie automáticamente cada vez que reinicie su sistema.

3. Uso básico de vnStat

vnstat sin ningún argumento le dará un resumen rápido con la siguiente información:

  • La última vez que se actualizó la base de datos vnStat ubicada en /var/lib/vnstat/
  • Desde que comenzó a recopilar estadísticas para una interfaz específica
  • Los datos estadísticos de la red (bytes transmitidos, bytes recibidos) de los últimos dos meses y los últimos dos días.
# vnstat
Database updated: Sat Oct 15 11:54:00 2011

   eth0 since 10/01/11

          rx:  12.89 MiB      tx:  6.94 MiB      total:  19.82 MiB

   monthly
                     rx      |     tx      |    total    |   avg. rate
     ------------------------+-------------+-------------+---------------
       Sep '11     12.90 MiB |    6.90 MiB |   19.81 MiB |    0.14 kbit/s
       Oct '11     12.89 MiB |    6.94 MiB |   19.82 MiB |    0.15 kbit/s
     ------------------------+-------------+-------------+---------------
     estimated        29 MiB |      14 MiB |      43 MiB |

	 daily
                     rx      |     tx      |    total    |   avg. rate
     ------------------------+-------------+-------------+---------------
     yesterday      4.30 MiB |    2.42 MiB |    6.72 MiB |    0.64 kbit/s
         today      2.03 MiB |    1.07 MiB |    3.10 MiB |    0.59 kbit/s
     ------------------------+-------------+-------------+---------------
     estimated         4 MiB |       2 MiB |       6 MiB |

Nota:Si acaba de instalar vnStat, aparecerá el siguiente mensaje "eth0:Aún no hay suficientes datos disponibles". Espere un momento y vuelva a intentar el comando.

4. vnStat horas, días, meses, semanas Datos de red

Use “vnstat -h” (o) “vnstat –hours” para el desglose de datos estadísticos de la red por hora. Esto también muestra un gráfico basado en texto.

Use "vnstat -d" (o) "vnstat –days" para el desglose de datos estadísticos de la red por día.

# vnstat -d
 eth0  /  daily
         day         rx      |     tx      |    total    |   avg. rate
     ------------------------+-------------+-------------+---------------
      10/10/11      2.48 MiB |    1.28 MiB |    3.76 MiB |    0.36 kbit/s
      10/11/11      4.07 MiB |    2.17 MiB |    6.24 MiB |    0.59 kbit/s
      10/12/11      4.30 MiB |    2.42 MiB |    6.72 MiB |    0.64 kbit/s
      10/13/11      2.06 MiB |    1.10 MiB |    3.16 MiB |    0.60 kbit/s
     ------------------------+-------------+-------------+---------------
     estimated         3 MiB |       1 MiB |       4 MiB |

Use "vnstat -m" (o) "vnstat –months" para el desglose de datos estadísticos de la red por mes.

# vnstat --m

 eth0  /  monthly

       month        rx      |     tx      |    total    |   avg. rate
    ------------------------+-------------+-------------+---------------
      Sep '11     12.90 MiB |    6.90 MiB |   19.81 MiB |    0.14 kbit/s
      Oct '11     12.92 MiB |    6.96 MiB |   19.89 MiB |    0.15 kbit/s
    ------------------------+-------------+-------------+---------------
    estimated        29 MiB |      14 MiB |      43 MiB |

De forma similar a los días y los meses, utilice "vnstat -m" (o) "vnstat –months" para el desglose de los datos estadísticos de la red por semana.

5. Exportar los datos a Excel u otra DB

Si desea exportar los datos de monitoreo de la red a Excel u otra base de datos, puede volcar los datos en un formato de texto delimitado por punto y coma, que puede importar a Excel u otra base de datos.

Las primeras líneas de la salida –dumpdb contienen información de encabezado. Después de las líneas del encabezado, tiene 30 líneas que comienzan con "d"; (d;0;1318316406;1;0;386;698;1). Esta línea tiene la siguiente información separada por punto y coma.

  • d – significa días
  • 0 – número del día. 0 indica hoy.
  • 1318316406:datos en formato Unix
  • Seguido de esto, contiene los bytes transmitidos y recibidos
$ vnstat --dumpdb
interface;eth0
created;1218562937
updated;1218546895
totalrx;3
totaltx;1
...
...
d;0;1328316406;1;0;386;698;1
d;1;1345262937;2;1;494;289;1

También puede usar "vnstat –oneline", que muestra el resumen del tráfico en una sola línea donde los valores están delimitados con punto y coma.

$ vnstat --oneline
1;eth0;10/11/11;1.45 MiB;801 KiB;2.23 MiB;0.59 kbit/s;Oct '11;3.93 MiB;2.06 MiB;6.00 MiB;0.05 kbit/s;3.93 MiB;2.06 MiB;6.00 MiB

6. Mostrar estadísticas de red en vivo

Use "vnstat -l" o "vnstat –live" para mostrar la información estadística de la red en vivo.

$ vnstat -l
Monitoring eth0...    (press CTRL-C to stop)

   rx:        2 kbit/s     5 p/s          tx:        2 kbit/s     4 p/s

Después de presionar Ctrl-C para detenerlo, vnstat mostrará un resumen del período de tiempo que estuvo funcionando el monitor en vivo.

7. Cambiar el formato de salida predeterminado de vnstat

Use "vnstat -s" o "vnstat –short" que mostrará un breve resumen de las estadísticas de la red. Esto incluye estadísticas de hoy, ayer y del mes actual.

$ vnstat -s (--short)

                      rx      /      tx      /     total    /   estimated
 eth0:
       Oct '11      3.93 MiB  /    2.06 MiB  /    6.00 MiB  /   13.00 MiB
     yesterday      2.48 MiB  /    1.28 MiB  /    3.76 MiB
         today      1.45 MiB  /     801 KiB  /    2.23 MiB  /      --

También puede usar "vnstat –style 0", que dará una salida de columna estrecha, que es más fácil de leer que la salida de columna más ancha predeterminada.

$ vnstat --style 0

Los siguientes son los números de estilo disponibles:

  • 0:salida estrecha
  • 1 – Habilitar columna de barra
  • 2:habilita la columna de la barra y muestra la tasa de tráfico promedio en resumen
  • 3:muestra la tasa de tráfico promedio en todos los resultados
  • 4:cuando se combina con el modo en vivo (vnstat -l), deshabilita los caracteres de control del terminal

8. Mostrar los 10 días de mayor tráfico

Use "vnstat -t" o "vnstat –top10" para mostrar los 10 días de mayor tráfico de todos los tiempos.

$ vnstat --top10

 eth0  /  top 10

    #      day          rx      |     tx      |    total    |   avg. rate
   -----------------------------+-------------+-------------+---------------
    1   10/12/11       4.30 MiB |    2.42 MiB |    6.72 MiB |    0.64 kbit/s
    2   10/11/11       4.07 MiB |    2.17 MiB |    6.24 MiB |    0.59 kbit/s
    3   10/10/11       2.48 MiB |    1.28 MiB |    3.76 MiB |    0.36 kbit/s
    ....
   -----------------------------+-------------+-------------+---------------

Artículos anteriores de la serie de supervisión y ajuste del rendimiento de Linux:

  • Introducción a la supervisión y ajuste del rendimiento de Linux
  • 15 ejemplos prácticos de comandos superiores de Linux
  • 7 ejemplos prácticos de comandos PS para la supervisión de procesos
  • 10 ejemplos útiles de Sar (Sysstat) para la supervisión del rendimiento de UNIX/Linux
  • 10 ejemplos de iozone para medir el rendimiento de E/S de disco en Linux
  • 24 ejemplos de iostat, vmstat y mpstat para la supervisión del rendimiento de Linux

Linux
  1. Cómo establecer una dirección IP estática y configurar la red en Linux

  2. Cómo administrar archivos de registro usando Logrotate en Linux

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

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

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

Cómo monitorear el tiempo de actividad del sistema Linux usando Uptimed

Monitoree el tráfico de red usando el comando netstat en Linux

Cómo instalar nload para monitorear el tráfico de red en tiempo real

Cómo configurar la red en Linux usando Netplan y NMTUI

Cómo monitorear el servidor Linux y las métricas desde el navegador usando Scout Realtime

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