040209/vnstat
From BluWiki
Por András Horváth:
En el mundo Unix/Linux hay muchas utilidades en línea de comandos que recogen estadísticas de tráfico de red de una determinada interfaz.
vnstat es diferente porque guarda las estadísticas permanentemente. Mantiene los datos en archivos y la monitorización del tráfico se reanuda al reiniciar. vnstat puede ser muy útil en situaciones en las que necesitas saber la cantidad exacta de tráfico que pasa por una interfaz en un periodo de tiempo mayor que el tiempo que lleva encendido la computadora. Por ejemplo, cuando tienes una conexión a internet por 3G o una conexión xDSL que tiene límite de tráfico mensual, puedes comprobar fácilmente cuanto tráfico generaste.
vnstat puede ejecutarse sin privilegios de super-usuario porque guarda datos del proc filesystem del núcleo. No tiene un servicio de demonio, simplemente se ejecuta por cron periódicamente. En Debian, la instalación crea una tarea en cron donde se ejecuta cada cinto minutos el comando vnstat -u:
# /etc/cron.d/vnstat: crontab entries for the vnstat package
0-55/5* *** root if [ -x /usr/bin/vnstat ] &&
[ `ls /var/lib/vnstat/ | wc -l`-ge l ]; then /usr/bin/vnstat -u; fi
En un primer momento tienes que crear la base de datos con este comando:
vnstat -u -i wlan1
Después de crear la base de datos, las estadísticas se pueden ver ejecutando vnstat sin más parámetros. Gracias a la tarea de cron, las estadísticas se actualizan cada cinco minutos. Incluso se acuerda del nombre de la interfaz a listar:
$ vnstat
Database updated: Tue Jan 27 15:40:01 2009
wlan1
received: 2.18 GB (81.3%)
transmitted: 512.85 MB (18.7%)
total: 2.68 GB
rx | tx | total
+------------+-----------
yesterday 95.14 MB | 12.19 MB | 107.32 MB
today 11.33 MB | 4.47 MB | 15.80 MB
+------------+-----------
estimated 16 MB | 6 MB | 22 MB
Algunas opciones de línea de comandos te permiten ver estadísticas para periodos específicos de tiempo. Por ejemplo:
- --days
$ vnstat --days
wlan1 / daily
day rx | tx | total
+-------------+----------------------------------------
18.01. 231 kB | 115 kB | 346 kB
19.01. 611.72 MB | 58.16 MB | 669.88 MB %%%%%%%%%%%%%%%%%::
20.01. 400.53 MB | 200.70 MB | 601.23 MB %%%%%%%%%%%%%%:::::
21.01. 5.87 MB | 1.56 MB | 7.43 MB
22.01. 417.97 MB | 108.94 MB | 526.91 MB %%%%%%%%%%%%%%::::
23.01. 365.24 MB | 41.78 MB | 407.02 MB %%%%%%%%%%%%::
24.01. 150.00 MB | 13.42 MB | 163.43 MB %%%%%%
25.01. 170.17 MB | 71.52 MB | 241.70 MB %%%%%%:::
26.01. 95.14 MB | 12.19 MB | 107.32 MB %%%%
27.01. 11.36 MB | 4.51 MB | 15.87 MB
+-------------+----------------------------------------
estimated 16 MB | 6 MB | 22 MB
- --weeks
$ vnstat --weeks
wlan1 / weekly
rx | tx | total
----------------------------+---------------+--------------
last 7 days 1.19 GB | 253.93 MB | 1.44 GB
last week 2.07 GB | 496.08 MB | 2.56 GB
current week 106.52 MB | 16.71 MB | 123.23 MB
----------------------------+---------------+--------------
estimated 456 MB | 68 MB | 524 MB
- --months
$ vnstat --months
wlan1 / monthly
month rx | tx | total
-------------------------+--------------+--------------------------------------
Jan '09 2.18 GB | 512.90 MB | 2.68 GB %%%%%%%%%%%%%:::
-------------------------+--------------+--------------------------------------
estimated 2.53 GB | 596 MB | 3.12 GB
- --top10
$ vnstat --top10
wlan1 / top 10
# day rx | tx | total
+-------------+---------------------------------
1 19.01.09 611.72 MB | 58.16 MB | 669.88 MB %%%%%%%%%%%%%%%%::
2 20.01.09 400.53 MB | 200.70 MB | 601.23 MB %%%%%%%%%%%:::::
3 22.01.09 417.97 MB | 108.94 MB | 526.91 MB %%%%%%%%%%%:::
4 23.01.09 365.24 MB | 41.78 MB | 407.02 MB %%%%%%%%%:
5 25.01.09 170.17 MB | 71.52 MB | 241.70 MB %%%%::
6 24.01.09 150.00 MB | 13.42 MB | 163.43 MB %%%%
7 26.01.09 95.14 MB | 12.19 MB | 107.32 MB %%
8 21.01.09 5.87 MB | 1.56 MB | 7.43 MB
9 18.01.09 231 kB | 115 kB | 346 kB
+-------------+---------------------------------
- --live, da estadísticas en tiempo real sobre los paquetes que están pasando a través de la interfaz:
$ vnstat --live -i wlan1
Monitoring wlan1... (press CTRL-C to stop)
rx: 113.40 kB/s 99 p/s tx: 28.42 kB/s 96 p/s
Pros:
- Estadísticas permanentes de tráfico de red, no se pierden al reiniciar.
- Solución muy ligera, no se ejecuta ningún servicio de demonio (se ejecuta automáticamente desde cron y periódicamente).
- Fácil de instalar y usar. En vnstat, se puede hacer todo desde la línea de comandos y muestra claramente cuántos megabytes has enviado o recibido en un periodo de tiempo.
Contras:
- El tráfico remoto o de internet no se puede separar del tráfico de la red local si todo él pasa través de la interfaz monitorizada.
- Funciona para un simple host, pero no lo hace muy bien. Si necesitas monitorizar un montón de hosts y necesitas gráficos detallados, hay mejores alternativas como munin o ganglia.
Disponibilidad:
Desde hace tiempo está disponible en Debian y Ubuntu (Universe).



