GNU/Linux >> Tutoriales Linux >  >> Linux

vnStat:monitoree el ancho de banda de la red en Linux y BSD

En este tutorial, veremos qué es vnStat, cómo instalarlo y luego cómo monitorear el ancho de banda de la red usando vnStat en los sistemas operativos Linux y BSD.

Introducción a Vnstat

VnStat es un monitor de tráfico de red gratuito, de código abierto, liviano y basado en consola. Usando VnStat, podemos encontrar fácilmente cuánto ancho de banda de red se consume y mostrar el resultado por hora, día, mes o por un período de tiempo específico.

Vnstat recopila los detalles de uso de una o varias interfaces de red y muestra el resumen en la línea de comandos. También ayuda a calcular la cantidad aproximada de uso de ancho de banda de Internet por mes o por día o durante un período de tiempo determinado.

Instalar vnStat en Linux

VnStat está disponible en los repositorios predeterminados de muchos sistemas operativos Linux y Unix. Puede instalarlo usando el administrador de paquetes de su distribución.

En sistemas basados ​​en Arch:

Asegúrate de haber habilitado [Community] repositorio e instalarlo usando pacman como a continuación:

$ sudo pacman -S vnstat

En Debian, Uubntu, Linux Mint, Pop OS:

$ sudo apt install vnstat

En Ubuntu, es posible que deba habilitar [Universe] repositorio para instalar vnstat.

En Redhat, CentOS, AlmaLinux, Rocky Linux:

Agregue y habilite el repositorio EPEL primero:

$ sudo dnf install epel-release

Y luego instale vnStat como se muestra arriba.

$ sudo dnf install vnstat

En Fedora:

$ sudo dnf install vnstat

En openSUSE:

$ sudo zypper install vnstat

Después de instalar vnStat, inicie su servicio usando el comando:

$ sudo systemctl enable --now vnstat

No necesita iniciar vnstat en sistemas basados ​​en DEB, ya que se iniciará automáticamente durante el tiempo de instalación.

Instalar vnStat en FreeBSD

En sistemas BSD como freeBSD, actualice el árbol de puertos e instale vnStat como root usuario usando comandos:

# pkg update
# pkg install vnstat

Una vez instalado, habilite e inicie el servicio vnStat como se muestra a continuación.

# echo 'vnstat_enable="YES"' >> /etc/rc.conf
# service vnstat start

Salida de muestra:

Starting vnstat.
No interfaces found in database, adding available interfaces...
Interface "em0" added with 1000 Mbit bandwidth limit.
-> 1 new interface found.
Limits can be modified using the configuration file. See "man vnstat.conf".
Unwanted interfaces can be removed from monitoring with "vnstat --remove".".

Configurar la interfaz de red predeterminada en Linux

vnStat utiliza eth0 como interfaz de red predeterminada en su archivo de configuración (/etc/vnstat.conf ).

Sin embargo, en algunos sistemas Linux (por ejemplo, Ubuntu), el nombre de la interfaz de red puede ser diferente, como enp0s3 , enp0s8 . Puede verificar el nombre de la interfaz de red usando "ip addr" comando.

Echemos un vistazo al contenido del archivo de configuración de vnstat.

$ head /etc/vnstat.conf

Salida de muestra:

# vnStat 1.18 config file
##

# default interface
Interface "eth0"

# location of the database directory
DatabaseDir "/var/lib/vnstat"

# locale (LC_ALL) ("-" = use system locale)

Como puede ver, la interfaz predeterminada es etho en este archivo.

Revisemos las interfaces de red disponibles identificadas por vnstat.

$ ls /var/lib/vnstat
enp0s3 enp0s8

Como puede ver, las interfaces de red disponibles son diferentes a la definida en el archivo vnstat.conf.

Si no configura la interfaz predeterminada correcta, es posible que obtenga el siguiente error al ver el tráfico de ancho de banda de la red cada hora o mensualmente.

Error: Unable to read database "/var/lib/vnstat/eth0": No such file or directory

Esto sucede porque la interfaz predeterminada está definida incorrectamente en /etc/vnstat.conf archivo.

Para configurar la interfaz de red predeterminada, edite /etc/vnstat.conf y actualice el nombre de interfaz correcto. Puede editar directamente /etc/vnstat.conf archivo y actualice el nombre de la interfaz globalmente. Sin embargo, se recomienda crear su propio archivo de configuración vnstat en el directorio HOME del usuario.

$ cp /etc/vnstat.conf ~/.vnstatrc
$ nano ~/.vnstatrc

Voy a usar enp0s3 como mi interfaz predeterminada.

Reemplace enp0s3 con el suyo propio. Guarde y cierre el archivo.

Configurar la interfaz de red predeterminada en FreeBSD

Edite el archivo de configuración de vnstat:

# vi /usr/local/etc/vnstat.conf

Si el archivo de configuración no está disponible, cree uno nuevo utilizando el archivo de configuración de muestra:

# cp /usr/local/etc/vnstat.conf.sample /usr/local/etc/vnstat.conf

Luego, actualice la interfaz de red predeterminada correcta:

Interface "em0"

Guarde y cierre el archivo.

Supervisión del ancho de banda de la red mediante vnStat en Linux y Unix

Si es nuevo en vnStat, abra la sección de ayuda de vnStat y vea la lista de opciones disponibles ejecutando este comando:

$ vnstat --help

Salida de muestra:

 vnStat 1.18 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 top 10 days
         -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
         -ru, --rateunit       swap configured rate unit
         -l,  --live           show transfer rate in real time

See also "--longhelp" for complete options list and "man vnstat".

Ver el uso de ancho de banda de todas las interfaces

Ahora, mostremos el tráfico de red de todas las interfaces.

Para hacerlo, simplemente ejecute:

$ vnstat

Salida de muestra:

                      rx      /      tx      /     total    /   estimated
 enp0s3:
       Sep '19       120 KiB  /      66 KiB  /     186 KiB  /       0 KiB
         today       120 KiB  /      66 KiB  /     186 KiB  /      --    

 enp0s8:
       Sep '19       128 KiB  /      88 KiB  /     216 KiB  /       0 KiB
         today       128 KiB  /      88 KiB  /     216 KiB  /      --

Aquí,

  • rx - El tráfico recibido
  • tx - El tráfico transferido

Espere unos minutos para que Vnstat comience a recopilar el uso del tráfico de la red. Si inicia vnstat inmediatamente después de instalarlo, puede obtener un resultado similar al siguiente.

enp0s3: Not enough data available yet.

O bien, obtendrá el siguiente resultado en distribuciones basadas en RPM como CentOS.

No database found, nothing to do. Use --help for help.

A new database can be created with the following command:
 vnstat --create -i eth0

Replace 'eth0' with the interface that should be monitored.

The following interfaces are currently available:
 enp0s3 (1000 Mbit) lo

Ahora no muestra nada. Es porque vnStat aún no ha comenzado a recopilar las estadísticas.

Ver el uso de ancho de banda de una interfaz en particular

Para ver el uso del ancho de banda de la red de una interfaz en particular, por ejemplo, enp0s3 , solo mencione el nombre de la tarjeta de red como se muestra a continuación.

$ vnstat -i enp0s3

Salida de muestra:

Database updated: Mon Sep  9 08:26:47 2019

   enp0s3 since 09/09/2019

          rx:  136 KiB      tx:  74 KiB      total:  210 KiB

   monthly
                     rx      |     tx      |    total    |   avg. rate
     ------------------------+-------------+-------------+---------------
       Sep '19       136 KiB |      74 KiB |     210 KiB |    0.00 kbit/s
     ------------------------+-------------+-------------+---------------
     estimated        --     |      --     |      --     |

   daily
                     rx      |     tx      |    total    |   avg. rate
     ------------------------+-------------+-------------+---------------
         today       136 KiB |      74 KiB |     210 KiB |    0.06 kbit/s
     ------------------------+-------------+-------------+---------------
     estimated        --     |      --     |      --     |

Aquí, enp0s3 es el nombre de mi tarjeta de red. Puede encontrar el nombre de su tarjeta de red usando "ip addr" comando.

En FreeBSD , el nombre de la tarjeta de red es em0 . Para ver su ancho de banda, simplemente ejecute:

# vnstat -i em0

Salida de muestra:

Database updated: 2019-09-09 16:40:00

   em0 since 2019-09-09

          rx:  606.84 KiB      tx:  56.12 KiB      total:  662.96 KiB

   monthly
                     rx      |     tx      |    total    |   avg. rate
     ------------------------+-------------+-------------+---------------
       2019-09    606.84 KiB |   56.12 KiB |  662.96 KiB |        7 bit/s
     ------------------------+-------------+-------------+---------------
     estimated       --      |     --      |     --      |

   daily
                     rx      |     tx      |    total    |   avg. rate
     ------------------------+-------------+-------------+---------------
         today    606.84 KiB |   56.12 KiB |  662.96 KiB |       90 bit/s
     ------------------------+-------------+-------------+---------------
     estimated       873 KiB |      80 KiB |     953 KiB

Ver el uso de ancho de banda por hora

Mostremos los resultados del tráfico de red por hora. Para hacerlo, ejecute:

$ vnstat -h

Salida de muestra:

 enp0s3                                                                   09:46 
  ^                                                                    r        
  |                                                                 r  r        
  |                                                                 r  r        
  |                                                                 r  r        
  |                                                                 r  r  r     
  |                                                                 rt rt r     
  |                                                                 rt rt r     
  |                                                                 rt rt rt    
  |                                                                 rt rt rt    
  |                                                              r  rt rt rt    
 -+---------------------------------------------------------------------------> 
  |  10 11 12 13 14 15 16 17 18 19 20 21 22 23 00 01 02 03 04 05 06 07 08 09    
                                                                                
 h  rx (KiB)   tx (KiB)  ][  h  rx (KiB)   tx (KiB)  ][  h  rx (KiB)   tx (KiB) 
10          0          0 ][ 18          0          0 ][ 02          0          0
11          0          0 ][ 19          0          0 ][ 03          0          0
12          0          0 ][ 20          0          0 ][ 04          0          0
13          0          0 ][ 21          0          0 ][ 05          0          0
14          0          0 ][ 22          0          0 ][ 06         12          7
15          0          0 ][ 23          0          0 ][ 07         86         48
16          0          0 ][ 00          0          0 ][ 08         88         45
17          0          0 ][ 01          0          0 ][ 09         59         32

Si tiene varias interfaces, use -i parámetro para ver el tráfico de red por hora de una tarjeta específica como se muestra a continuación.

$ vnstat -h -i enp0s8

Lectura sugerida:

  • Cómo limitar el ancho de banda de la red en Linux usando Wondershaper

Ver el uso diario de ancho de banda

Usa '-d' marca para mostrar el tráfico de red de la interfaz de red predeterminada por día.

$ vnstat -d

Salida de muestra:

enp0s3  /  daily

         day         rx      |     tx      |    total    |   avg. rate
     ------------------------+-------------+-------------+---------------
     09/09/2019      258 KiB |     138 KiB |     396 KiB |    0.09 kbit/s
     ------------------------+-------------+-------------+---------------
     estimated        --     |      --     |      --     |

Ver el uso de ancho de banda semanal

$ vnstat -w

Salida de muestra:

enp0s3  /  weekly

                      rx      |     tx      |    total    |   avg. rate
   ---------------------------+-------------+-------------+---------------
    last 7 days       258 KiB |     138 KiB |     396 KiB |    0.00 kbit/s
   current week       258 KiB |     138 KiB |     396 KiB |    0.09 kbit/s
   ---------------------------+-------------+-------------+---------------
      estimated        --     |      --     |      --     |

Ver el uso mensual de ancho de banda

Para ver el uso mensual de una tarjeta de interfaz de red, use '-m' cambiar.

$ vnstat -m

Salida de muestra:

enp0s3  /  monthly

       month        rx      |     tx      |    total    |   avg. rate
    ------------------------+-------------+-------------+---------------
      Sep '19       258 KiB |     138 KiB |     396 KiB |    0.00 kbit/s
    ------------------------+-------------+-------------+---------------
    estimated        --     |      --     |      --     |

Mostrar el uso de ancho de banda de los últimos diez días

Para mostrar el uso de la red de los últimos diez días, use '-t' bandera.

$ vnstat -t

Salida de muestra:

enp0s3  /  top 10

    #      day          rx      |     tx      |    total    |   avg. rate
   -----------------------------+-------------+-------------+---------------
                              no data available
   -----------------------------+-------------+-------------+---------------

No muestra ningún dato de los diez días principales porque instalé Vnstat hoy.

Lectura sugerida:

  • Instalar la herramienta de supervisión del rendimiento de NetData en Linux

Ver el uso de ancho de banda de un tiempo particular

También podemos ver el uso del ancho de banda en un momento determinado.

Para mostrar el uso de ancho de banda de los últimos diez segundos, ejecute:

$ vnstat -i enp0s3 -tr 10

Salida de muestra:

7 packets sampled in 10 seconds
Traffic average for enp0s3

      rx         0.28 kbit/s             0 packets/s
      tx         0.14 kbit/s             0 packets/s

Ver el uso de ancho de banda en vivo

Para comenzar a monitorear en vivo el uso de una tarjeta de interfaz en particular, ejecute:

$ vnstat -i enp0s3 -l

Salida de muestra:

Monitoring enp0s3...    (press CTRL-C to stop)

   rx:        0 kbit/s     0 p/s          tx:        0 kbit/s     0 p/s

Para detener el monitoreo en vivo, presione CTRL-C .

Para obtener más detalles, consulte las páginas man:

$ man vnstat

Conclusión

VnStat es una herramienta práctica y útil para monitorear su uso de Internet o el tráfico de red para una o varias interfaces de red. En caso de que se esté preguntando cuánto ancho de banda está consumiendo diariamente/mensualmente, puede usar esta herramienta para averiguarlo sin la ayuda de su proveedor de servicios de Internet o usando herramientas de terceros.


Linux
  1. Cómo instalar y probar Ansible en Linux

  2. Cómo instalar y usar Flatpak en Linux

  3. Cómo instalar y usar Traceroute en Linux

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

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

Cómo instalar y usar phpMyAdmin en Linux

Supervisar la tarea de Linux con SysMonTask

Cómo instalar y usar el comando fd en Linux

Cómo instalar y usar Nu Shell en Linux

Cómo instalar el monitoreo de ancho de banda de red Iftop en Linux

Supervise el uso del ancho de banda de la red de Linux en tiempo real con nload