vnStat - Monitor de red ligero basado en consola
vnStat es un monitor de tráfico de red basado en consola para Linux y BSD que mantiene un registro del tráfico de red para las interfaces seleccionadas. Utiliza las estadísticas de la interfaz de red proporcionadas por el núcleo como fuente de información. Esto significa que vnStat en realidad no detectará ningún tráfico y también asegura un uso ligero de los recursos del sistema.
En este tutorial revisaremos:
- Caracteristicas
- Instalación
- Configuración
- Iniciar el servicio Systemd
- Uso (desde la línea de comando)
- Ejemplo de visualización en tiempo real de Conky
Caracteristicas
- Rápido y sencillo de instalar y poner en marcha
- las estadísticas recopiladas persisten a través de reinicios del sistema
- puede monitorear múltiples interfaces al mismo tiempo
- varias opciones de salida
- resumen, cada hora, diario, mensual, semanal, 10 días principales
- salida de imagen png opcional (usando libgd)
- los meses se pueden configurar para seguir el período de facturación
- uso ligero y mínimo de recursos
- mismo bajo uso de CPU independientemente del tráfico
- se puede usar sin permisos de root
- editor de configuración de color en línea
Instalación
nvStat está en los repositorios oficiales, por lo que no es necesario vincular a un nuevo ppa. Para instalar, cree una instancia de Terminal usando Ctrl+ Alt+ Ty escriba en el indicador:
sudo apt-get update
sudo apt-get install vnstat
Después de la instalación, mantenga su Terminal abierta para las siguientes secciones. No hay necesidad de reiniciar.
Configuración
Elija una interfaz de red preferida y edite la variable de interfaz en la /etc/vnstat.conf
correspondiente. Para la lista de todas las interfaces disponibles para vnstat, use:
$ vnstat --iflist
Available interfaces: wlp60s0 lo enp59s0 (1000 Mbit)
Para comenzar a monitorear una interfaz en particular, primero debe inicializar una base de datos. Cada interfaz necesita su propia base de datos. El comando para inicializar uno para la interfaz eth0 es:
sudo vnstat -u -i enp59s0
Iniciar el servicio Systemd
Después de introducir las interfaces y verificar el archivo de configuración. Puede iniciar el proceso de monitoreo a través de systemd
:
sudo systemctl start vnstat.service
Para hacer este servicio de uso permanente:
sudo systemctl enable vnstat.service
De ahora en vnstat
adelante, recopilaremos el uso de la red en segundo plano utilizando un porcentaje tan pequeño de CPU que no aparece en la lista de los 9 principales procesos de conky (monitor del sistema) (en mi máquina).
Uso (desde la línea de comando)
Consulta el tráfico de red:
vnstat -q
Ver el uso del tráfico de red en vivo:
vnstat -l
Para encontrar más opciones, use:
vnstat --help
Totales mensuales
Para ver los totales mensuales, use:
$ vnstat -m
enp59s0 / monthly
month rx | tx | total | avg. rate
------------------------+-------------+-------------+---------------
Oct '17 2.02 GiB | 1.57 GiB | 3.59 GiB | 11.25 kbit/s
Nov '17 58.28 GiB | 24.58 GiB | 82.86 GiB | 268.17 kbit/s
Dec '17 143.23 GiB | 13.64 GiB | 156.87 GiB | 491.31 kbit/s
Jan '18 102.77 GiB | 30.21 GiB | 132.97 GiB | 1.04 Mbit/s
------------------------+-------------+-------------+---------------
estimated 257.06 GiB | 75.56 GiB | 332.62 GiB |
Ejemplo de visualización en tiempo real de Conky
Conky es un popular Monitor de sistema ligero utilizado en muchas distribuciones de Linux. Puede mostrar los totales de ancho de banda de vnStat en su pantalla conky de esta manera:
30 segundos .gif de la sección relevante de Conky
El código Conky para producir esta pantalla es:
${color orange}${voffset 2}${hr 1}
${color}Memory:${goto 148}${color green}$mem / $memmax $alignr${color green}${memperc /}%
${color}Linux:${goto 148}${color green}${fs_used /} / ${fs_size /} $alignr${color green}${fs_used_perc /}%
${color}NVMe Win 10:${goto 148}${if_mounted /mnt/c}${color green} ${fs_used /mnt/c} / ${fs_size /mnt/c} $alignr${color green}${fs_used_perc /mnt/c}%${else}${color yellow}/mnt/c${endif}
${color}${if_mounted /mnt/d}HGST_Win10:${goto 148}${color green} ${fs_used /mnt/d} / ${fs_size /mnt/d} $alignr${color green}${fs_used_perc /mnt/d}%${else}Cache RAM:${goto 148}${color green}${cached} ${color} Buffers: ${color green} ${buffers}${endif}
${color}${if_mounted /mnt/e}WSL+Linux:${goto 148}${color green}${fs_used /mnt/e} / ${fs_size /mnt/e} $alignr${color green}${fs_used_perc /mnt/e}%${else}Swap:${goto 148}${color green}${swap} / ${swapmax} $alignr${color green}${swapperc}%${endif}
${color orange}${voffset 2}${hr 1}
${color1}Network using vnStat "-i", "-w" and "-m"
${color}${goto 5}Today ${goto 100}Yesterday ${goto 225}Week ${goto 325}Month ${color green}
${execi 10 vnstat -i enp59s0 | grep "today" | awk '{print $8" "substr ($9, 1, 1)}'} ${goto 110}${execi 10 vnstat -i enp59s0 | grep "yesterday" | awk '{print $8" "substr ($9, 1, 1)}'} ${goto 220}${execi 10 vnstat -i enp59s0 -w | grep "current week" | awk '{print $9" "substr ($10, 1, 1)}'} ${goto 315}${execi 10 vnstat -i enp59s0 -m | grep "`date +"%b '%y"`" | awk '{print $9" "substr ($10, 1, 1)}'}
${color}Down: ${color green}${downspeed enp59s0}/s ${color}${goto 220}Up: ${color green}${upspeed enp59s0}/s
${downspeedgraph enp59s0 25,190 000000 ff0000} ${alignr}${upspeedgraph enp59s0 25,190 000000 00ff00}$color
Total: ${color green}${totaldown enp59s0} $color${alignr}Total: ${color green}${totalup enp59s0}
${color orange}${voffset 2}${hr 1}
${color}${goto 5}Dawn: ${color green}${execpi 300 cat /usr/local/bin/sunrise} ${goto 155}${color}Dusk: ${color green}${execpi 300 cat /usr/local/bin/sunset} ${alignr}${color}Level: ${color green}${execpi 10 cat /sys/class/backlight/intel_backlight/brightness}
${color orange}${voffset 2}${hr 1}
Para ahorrar espacio en el escritorio, mis estrechas Conky usos ventana "G" en lugar de "Gib", "M" en lugar de "MiB", etc Si usted tiene más pantalla de cambio de las propiedades inmobiliarias substr ($10, 1, 1)
a $10
y hacer lo mismo para $9
.
Puede que tenga que cambiar enp59s0
a eth0
, wlan0
o eth1
, etc., dependiendo de su nombre de red informado por ifconfig
.
vnstat