vnstat :: monitor de trafico de red

En esta ocasión les traigo un pequeño manual de un excelente monitor que acabo de conocer.

Luego de ver lo que hace y la información que entrega, me quede  muy contento, ya que en mi trabajo es necesario tener cierta información de trafico que generan los equipos y mejor aun que también se puede tener una web donde te muestra la información y con todo y gráficas.

vnstat, mas que un comando, viene a ser un servicio que proporcionar información del trafico de red que consume un servidor.

Ya se revisar una placa de red en particular o varias. Este puede dar información en vivo (live), por hora, día, semana, mes y año.

No es un servicio de sniffer, sino que analiza la información de trafico del sistema proc y no se requiere (necesariamente) ejecutarse como root.

Instalación


Para instalar el comando/servicio en sistemas CentOS/Fedora/RedHat, es necesario instalar el repositorio de EPEL. Para instalar el repositorio ejecutar:

Para version 5, descargar epel-release-5.4
Para version 6, descargar epel-release-6.8

Una vez descargado instalar

# rpm -ivhU epel-release-5-4.noarch.rpm

Para quienes manejan Slackware, puedes descargar vnstat-1.11 y posterior instalar con:

# installpkg vnstat-1.11-i686-1cf.txz

Configuración


Una vez instalado lo que se requiere es crear la base de datos de vnstat para esto es necesario ejecutar:

# vnstat -u -i eth0

En caso de que tu placa de red sea diferente, poner a como esta definida.

Si se desea conocer mas datos de las opciones que maneja el comando puedes ver con man

# man vnstat

Puesta en marcha


Una vez creada la base de datos, puedes ver como se comporta tu tarjeta de red en vivo, para esto ejecutar:

# vnstat -l
Monitoring eth0...    (press CTRL-C to stop)

   rx:       0.12 kB/s     2 p/s            tx:       0.23 kB/s     1 p/s


 eth0  /  traffic statistics

                             rx       |       tx
--------------------------------------+----------------------------------------
  bytes                         1 kB  |          2 kB
--------------------------------------+----------------------------------------
          max              0.12 kB/s  |     0.23 kB/s
      average              0.09 kB/s  |     0.17 kB/s
          min              0.09 kB/s  |     0.09 kB/s
--------------------------------------+----------------------------------------
  packets                         26  |             9
--------------------------------------+----------------------------------------
          max                  2 p/s  |         1 p/s
      average                  1 p/s  |         0 p/s
          min                  1 p/s  |         0 p/s
--------------------------------------+----------------------------------------
  time                    17 seconds


Comenzara a mostrar el trafico que esta generando la misma y al presionar CTR+C, al final se dará un resumen
En CentOS/Fedora/RedHat existe un archivo con que se puede configurar para ejecución constante, el mismo lo encuentras en /usr/bin/vnstat.cron, en mi caso configure para que siempre se ejecute:

#vim /etc/crontab

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/

# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly
* * * * * root /usr/sbin/vnstat.cron

# service crond restart
Parando crond:                                             [  OK  ]
Iniciando crond:                                           [  OK  ]
Con lo anterior queda en ejecución siempre.

Para instalar la pagina web con el frontend de vnstat hay que hacer los siguiente (se asume que se tiene instalado apache y ejecución)

# wget wget http://www.sqweek.com/sqweek/files/vnstat_php_frontend-1.5.1.tar.gz
# tar xvf vnstat_php_frontend-1.5.1.tar.gz
# mkdir -p /var/www/html/vnstat
# cp -av vnstat_php_frontend-1.5.1/* /var/www/html/vnstat/

Posterior hay que editar el archivo de configuración del web y cambiar las variables $language, $iface_list y $iface_title, algo como:

# # vi /var/www/html/vnstat/config.php

    $locale = 'en_US.UTF-8';
    $language = 'en';

    // list of network interfaces monitored by vnStat
    $iface_list = array('eth0');

    //
    // optional names for interfaces
    // if there's no name set for an interface then the interface identifier
    // will be displayed instead
    //    
    $iface_title['eth0'] = 'Internal';
    //$iface_title['sixxs'] = 'SixXS IPv6';
Una vez guardado, vas a tu navegador y poner la URL de tu servidor, ejemplo: http://192.168.1.10/vnstat, deberás ver algo como:




Aquí les dejo un vídeo donde pueden ver varios ejemplos:


Ahi tienen, y puedes modificar la web como deseen, en caso de lo que hagan, avisen :D.

Entradas populares de este blog

Desactivando NetworkManager

Como montar particiones LVM en Linux

Configurando interfaces de red virtuales en Linux