vnStat es una herramienta de monitoreo de tráfico de red gratuita, de código abierto y basada en consola para el sistema operativo Linux. Con vnStat, puede monitorear las estadísticas de la red durante varios períodos de tiempo. Es simple, liviano y consume una pequeña porción de los recursos de su sistema. vnStat le permite generar los datos de tráfico de red en una hora, día, mes, semana y día.
En este tutorial, le mostraremos cómo instalar y usar vnStat para monitorear el tráfico de la red.
Requisitos
- Un servidor con Ubuntu 20.04.
- Se configura una contraseña de root en el servidor.
Instalar vnStat
De forma predeterminada, la última versión de vnStat no está disponible en el repositorio predeterminado de Ubuntu. Por lo tanto, deberá compilarlo desde la fuente.
Primero, instale todas las dependencias requeridas para compilar vnStat con el siguiente comando:
apt-get install build-essential gcc make libsqlite3-dev -y
Una vez que todas las dependencias estén instaladas, descargue la última versión de la fuente vnStat con el siguiente comando:
wget https://humdi.net/vnstat/vnstat-2.6.tar.gz
Una vez que se complete la descarga, extraiga el archivo descargado con el siguiente comando:
tar -xvzf vnstat-2.6.tar.gz
A continuación, cambie el directorio al directorio extraído y configúrelo con el siguiente comando:
cd vnstat-2.6
./configure --prefix=/usr --sysconfdir=/etc
A continuación, instale vnStat ejecutando el siguiente comando:
make
make install
Una vez que vnStat esté instalado, puede verificar la versión instalada de vnStat con el siguiente comando:
vnstat -v
Deberías obtener el siguiente resultado:
vnStat 2.6 by Teemu Toivola
Una vez que haya terminado, puede continuar con el siguiente paso.
Administrar servicio vnStat
A continuación, deberá copiar el archivo de servicio vnStat systemd desde el origen de vnStat al directorio /etc/systemd/system/:
cp -v vnstat-2.6/examples/systemd/vnstat.service /etc/systemd/system/
A continuación, habilite el servicio vnStat e inícielo con el siguiente comando:
systemctl enable vnstat
systemctl start vnstat
También puede verificar el estado del servicio vnStat usando el siguiente comando:
systemctl status vnstat
Deberías obtener el siguiente resultado:
? vnstat.service - vnStat network traffic monitor Loaded: loaded (/etc/systemd/system/vnstat.service; enabled; vendor preset: enabled) Active: active (running) since Thu 2020-11-12 06:24:01 UTC; 11s ago Docs: man:vnstatd(8) man:vnstat(1) man:vnstat.conf(5) Main PID: 20989 (vnstatd) Tasks: 1 (limit: 4701) Memory: 1.5M CGroup: /system.slice/vnstat.service ??20989 /usr/sbin/vnstatd -n Nov 12 06:24:01 Ubuntu systemd[1]: Started vnStat network traffic monitor. Nov 12 06:24:01 Ubuntu vnstatd[20989]: No interfaces found in database, adding available interfaces... Nov 12 06:24:01 Ubuntu vnstatd[20989]: Interface "ens3" added with 1000 Mbit bandwidth limit. Nov 12 06:24:01 Ubuntu vnstatd[20989]: Interface "ens4" added with 1000 Mbit bandwidth limit. Nov 12 06:24:01 Ubuntu vnstatd[20989]: -> 2 new interfaces found. Nov 12 06:24:01 Ubuntu vnstatd[20989]: Limits can be modified using the configuration file. See "man vnstat.conf". Nov 12 06:24:01 Ubuntu vnstatd[20989]: Unwanted interfaces can be removed from monitoring with "vnstat --remove". Nov 12 06:24:01 Ubuntu vnstatd[20989]: Info: vnStat daemon 2.6 started. (pid:20989 uid:0 gid:0 64-bit) Nov 12 06:24:01 Ubuntu vnstatd[20989]: Info: Monitoring (2): ens4 (1000 Mbit) ens3 (1000 Mbit)
Una vez que haya terminado, puede continuar con el siguiente paso.
Trabajando con vnStat
vnStat viene con varias opciones que lo ayudan a monitorear el tráfico de la red. Puede enumerar todas las opciones disponibles con el siguiente comando:
vnstat --help
Deberías obtener el siguiente resultado:
vnStat 2.6 by Teemu Toivola-5, --fiveminutes [limit] show 5 minutes -h, --hours [limit] show hours -hg, --hoursgraph show hours graph -d, --days [limit] show days -m, --months [limit] show months -y, --years [limit] show years -t, --top [limit] show top days -b, --begin set list begin date -e, --end set list end date --oneline [mode] show simple parsable format --json [mode] [limit] show database in json format --xml [mode] [limit] show database in xml format -tr, --traffic [time] calculate traffic -l, --live [mode] show transfer rate in real time -i, --iface select interface Use "--longhelp" or "man vnstat" for complete list of options.
Antes de usar vnStat, deberá esperar un tiempo para actualizar la base de datos de vnStat. Después de actualizar la base de datos, puede ejecutar vnStat sin ninguna opción, como se muestra a continuación:
vnstat
Debería ver el siguiente resultado:
rx / tx / total / estimated ens3: 2020-11 164.83 KiB / 495.17 KiB / 660.01 KiB / -- today 164.83 KiB / 495.17 KiB / 660.01 KiB / 2.38 MiB
También puede especificar la interfaz de red específica usando la opción -i como se muestra a continuación:
vnstat -i ens3
Debería obtener las estadísticas diarias y mensuales en el siguiente resultado:
Database updated: 2020-11-12 06:30:00 ens3 since 2020-11-12 rx: 164.83 KiB tx: 495.17 KiB total: 660.01 KiB monthly rx | tx | total | avg. rate ------------------------+-------------+-------------+--------------- 2020-11 164.83 KiB | 495.17 KiB | 660.01 KiB | 5 bit/s ------------------------+-------------+-------------+--------------- estimated -- | -- | -- | daily rx | tx | total | avg. rate ------------------------+-------------+-------------+--------------- today 164.83 KiB | 495.17 KiB | 660.01 KiB | 231 bit/s ------------------------+-------------+-------------+--------------- estimated 608 KiB | 1.79 MiB | 2.38 MiB |
Para mostrar las estadísticas por hora, ejecute el siguiente comando:
vnstat -h
Deberías obtener el siguiente resultado:
ens3 / hourly hour rx | tx | total | avg. rate ------------------------+-------------+-------------+--------------- 2020-11-12 06:00 164.83 KiB | 495.17 KiB | 660.01 KiB | 3.00 kbit/s ------------------------+-------------+-------------+---------------
Para mostrar las estadísticas diarias, ejecute el siguiente comando:
vnstat -d
Deberías obtener el siguiente resultado:
ens3 / daily day rx | tx | total | avg. rate ------------------------+-------------+-------------+--------------- 2020-11-12 164.83 KiB | 495.17 KiB | 660.01 KiB | 231 bit/s ------------------------+-------------+-------------+--------------- estimated 608 KiB | 1.79 MiB | 2.38 MiB |
Puede usar la opción -t para mostrar los días de mayor tráfico:
vnstat -t
Deberías obtener el siguiente resultado:
ens3 / top 1 # day rx | tx | total | avg. rate -----------------------------+-------------+-------------+--------------- > 1 2020-11-12 164.83 KiB | 495.17 KiB | 660.01 KiB | 62 bit/s
Para mostrar las estadísticas de tráfico de la red en tiempo real, ejecute el siguiente comando:
vnstat -l
Deberías obtener el siguiente resultado:
Monitoring ens3... (press CTRL-C to stop) rx: 1.31 kbit/s 2 p/s tx: 1.49 kbit/s 1 p/s^C ens3 / traffic statistics rx | tx --------------------------------------+------------------ bytes 3.75 KiB | 5.42 KiB --------------------------------------+------------------ max 6.55 kbit/s | 11.17 kbit/s average 1.53 kbit/s | 2.22 kbit/s min 264 bit/s | 264 bit/s --------------------------------------+------------------ packets 41 | 37 --------------------------------------+------------------ max 7 p/s | 8 p/s average 2 p/s | 1 p/s min 0 p/s | 0 p/s --------------------------------------+------------------ time 20 seconds
También puede borrar las entradas de la base de datos para la interfaz ens3 y dejar de monitorear usando el siguiente comando:
vnstat -i ens3 --remove --force
Deberías obtener el siguiente resultado:
Interface "ens3" removed from database. The interface will no longer be monitored. Use --add if monitoring the interface is again needed.
También puede volver a agregar la interfaz eliminada ens3 ejecutando el siguiente comando:
vnstat -i ens3 --add
Deberías obtener el siguiente resultado:
Adding interface "ens3" for monitoring to database... Restart the vnStat daemon if it is currently running in order to start monitoring "ens3".
A continuación, reinicie el servicio vnStat para aplicar los cambios:
systemctl restart vnstat
Conclusión
En la guía anterior, aprendió cómo instalar vnStat y usarlo para monitorear el tráfico de la red. Espero que esta herramienta lo ayude a analizar y solucionar problemas relacionados con la red. Siéntase libre de preguntarme si tiene alguna pregunta.