Registro y supervisión del consumo de tráfico mediante VnStat | INTROSERV
EUR
european

EUR

usa

USD

Spanish Es
Ex. VAT Ex. VAT 0%

Cómo registrar y monitorizar el consumo de tráfico con vnStat

vnStat es una herramienta de consola ligera que guarda un historial del tráfico de red en Linux. Un servicio en segundo plano, vnstatd, lee los contadores de las interfaces del kernel y los guarda en una pequeña base de datos. Después puede ver el tráfico por horas, días, meses y años, o seguir la velocidad de transferencia actual en tiempo real. vnStat no captura paquetes, por lo que su sobrecarga es muy baja. Muestra cuánto tráfico ha pasado por cada interfaz, pero no qué direcciones IP, puertos o conexiones lo han generado.

Esta guía muestra cómo instalar vnStat desde el repositorio o desde el código fuente, y cómo ver las estadísticas de tráfico. vnStat resulta útil en cualquier servidor donde el tráfico esté limitado o se facture, por ejemplo en un VPS Linux o un servidor dedicado de INTROSERV.

Instalar vnStat desde el repositorio

Conéctese a su servidor por SSH. Para más detalles, consulte Conexión por SSH.

Ubuntu y Debian

vnStat está disponible en los repositorios estándar. Instálelo:

sudo apt update sudo apt install -y vnstat

La instalación inicia el servicio vnstat y lo habilita en el arranque. Compruebe que se está ejecutando:

sudo systemctl status vnstat

La salida debe mostrar active (running). Si el servicio no se está ejecutando, habilítelo e inícielo con sudo systemctl enable --now vnstat.

AlmaLinux y Rocky Linux

vnStat está disponible en el repositorio EPEL. Habilite EPEL e instale vnStat:

sudo dnf install -y epel-release sudo dnf install -y vnstat

Habilite e inicie el servicio:

sudo systemctl enable vnstat && sudo systemctl start vnstat

Compruebe que se está ejecutando:

sudo systemctl status vnstat

Instalar vnStat desde el código fuente

Compile vnStat desde el código fuente si el paquete no está disponible para su distribución o si necesita la última versión.

Warning

Si vnStat ya está instalado desde el repositorio, elimine primero el paquete: sudo apt remove -y vnstat en Ubuntu y Debian o sudo dnf remove -y vnstat en AlmaLinux y Rocky Linux. Ambas instalaciones utilizan el mismo archivo de configuración, la misma base de datos y el mismo nombre de servicio, por lo que mantenerlas juntas provoca conflictos.

Instale las dependencias de compilación. En Ubuntu y Debian:

sudo apt update && sudo apt install -y build-essential libsqlite3-dev wget

En AlmaLinux y Rocky Linux:

sudo dnf group install -y "Development Tools" sudo dnf install -y sqlite-devel wget

Descargue y descomprima la última versión:

wget https://humdi.net/vnstat/vnstat-latest.tar.gz tar -xf vnstat-latest.tar.gz cd vnstat-*/

El archivo se descomprime en un directorio cuyo nombre incluye el número de versión, por ejemplo vnstat-2.13. El comodín vnstat-*/ permite entrar en él sin escribir el número de versión.

Compile e instale vnStat:

./configure --prefix=/usr --sysconfdir=/etc && make && sudo make install

La opción --prefix=/usr instala los programas en /usr/bin y /usr/sbin, y --sysconfdir=/etc coloca el archivo de configuración en /etc/vnstat.conf.

En AlmaLinux y Rocky Linux con SELinux habilitado, si vnStat se instaló antes desde el repositorio, restaure primero las etiquetas SELinux del directorio de la base de datos. De lo contrario, el servicio no se inicia y muestra un error Permission denied:

sudo restorecon -Rv /var/lib/vnstat

Instale el servicio de systemd, habilítelo e inícielo:

sudo cp -v examples/systemd/vnstat.service /etc/systemd/system/ sudo systemctl daemon-reload sudo systemctl enable --now vnstat

Compruebe la versión y el estado del servicio:

vnstat --version sudo systemctl status vnstat

Encontrar la interfaz de red

De forma predeterminada, vnStat añade a su base de datos todas las interfaces de red del servidor, excepto la interfaz de loopback. Para ver las interfaces almacenadas actualmente en la base de datos, ejecute:

vnstat --dbiflist

También puede listar las interfaces con ip a. Los ejemplos siguientes usan la interfaz ens3. Sustitúyala por el nombre de su interfaz, por ejemplo eth0 o enp1s0.

Info

De forma predeterminada, vnStat guarda datos nuevos en la base de datos cada 5 minutos. Justo después de la instalación, el comando vnstat indica que todavía no hay datos, por ejemplo Not enough data available yet o No data. Espere unos minutos y vuelva a ejecutar el comando.

Ver las estadísticas de tráfico

Ejecute vnstat sin opciones para ver un resumen de todas las interfaces, que incluye el tráfico del día y del mes en curso y una estimación para el final de cada periodo.

vnstat

En todos los informes, rx es el tráfico entrante, tx es el tráfico saliente y total es su suma.

Tráfico por hora

Para ver las 12 últimas entradas por hora, ejecute:

vnstat -i ens3 -h --limit 12

Tráfico por día

Para ver las 2 últimas entradas diarias, ejecute:

vnstat -i ens3 -d --limit 2

Sin --limit, el número de entradas mostradas lo determina el parámetro ListDays de /etc/vnstat.conf, 30 de forma predeterminada. Limita solo la salida, no los datos almacenados en la base de datos.

Tráfico por mes

vnstat -i ens3 -m

Tráfico por año

vnstat -i ens3 -y

Tráfico en tiempo real

Para ver la velocidad de transferencia actual, ejecute:

vnstat -i ens3 -l

La velocidad se actualiza hasta que pulse Ctrl+C. Si el comando se ejecutó durante más de 10 segundos, vnStat muestra después un resumen de ese tiempo.

Tráfico durante un número de segundos determinado

Para medir la velocidad media de tráfico durante un periodo, indique el periodo en segundos. Por ejemplo, 20 segundos:

vnstat -i ens3 -tr 20

Sin número, la medición dura 5 segundos. El resultado se muestra al terminar el tiempo.

Gráfico de las últimas 24 horas

Para mostrar el tráfico de las últimas 24 horas como un gráfico de texto, ejecute:

vnstat -i ens3 -hg

Tip

Para procesar las estadísticas en un script, utilice la opción --json o --oneline. Por ejemplo, vnstat -i ens3 --json d exporta las estadísticas diarias en formato JSON.

Establecer la interfaz predeterminada

Si el servidor tiene varias interfaces y normalmente consulta una de ellas, establézcala como predeterminada en el archivo de configuración /etc/vnstat.conf. Abra el archivo:

sudo nano /etc/vnstat.conf

En AlmaLinux y Rocky Linux, nano no viene instalado de forma predeterminada. Instálelo con sudo dnf install -y nano o utilice vi.

Busque la línea Interface, elimine el punto y coma del principio e introduzca el nombre de su interfaz:

Interface "ens3"

Guarde el archivo. Ahora vnstat muestra esta interfaz cuando lo ejecuta sin la opción -i, por ejemplo vnstat -d. El servicio vnstat sigue supervisando todas las interfaces.

Para ver la lista completa de opciones, ejecute vnstat --longhelp o consulte man vnstat.

VAT

  • Other

    Ex. VAT

    0%
  • austria

    Austria

    20%
  • Belgium

    Belgium

    21%
  • Bulgaria

    Bulgaria

    20%
  • Croatia

    Croatia

    25%
  • Cyprus

    Cyprus

    19%
  • Czech Republic

    Czech Republic

    21%
  • Denmark

    Denmark

    25%
  • Estonia

    Estonia

    22%
  • France

    France

    20%
  • Finland

    Finland

    24%
  • Germany

    Germany

    19%
  • Greece

    Greece

    24%
  • Hungary

    Hungary

    27%
  • Ireland

    Ireland

    23%
  • Italy

    Italy

    22%
  • Latvia

    Latvia

    21%
  • Lithuania

    Lithuania

    21%
  • Luxembourg

    Luxembourg

    17%
  • Malta

    Malta

    18%
  • Netherlands

    Netherlands

    21%
  • Poland

    Poland

    23%
  • Portugal

    Portugal

    23%
  • Romania

    Romania

    19%
  • Slovakia

    Slovakia

    20%
  • Slovenia

    Slovenia

    22%
  • Spain

    Spain

    21%
  • Sweden

    Sweden

    25%
  • USA

    USA

    0%
european
states
  • germany
  • Español
  • Italiano
  • Poland
  • Русский
  • Slovenski
  • Türkçe
  • ukraine
  • kingdom
  • French
  • Hrvatska
  • Other
  • Austria
  • Belgium
  • Bulgaria
  • Croatia
  • Cyprus
  • Czech Republic
  • Denmark
  • Estonia
  • Finland
  • France
  • Germany
  • Greece
  • Hungary
  • Ireland
  • Italy
  • Latvia
  • Lithuania
  • Luxembourg
  • Malta
  • Netherlands
  • Poland
  • Portugal
  • Romania
  • Slovakia
  • Slovenia
  • Spain
  • Sweden
  • USA