Instalar MRTG en Debian

MRTG es un software para dibujar gráficas sobre el uso histórico de la red (uso por día, semana, mes y año).

Sirve para saber picos de tráfico inusual, si te están atacando con un DOS, etc.

Instalarlo desde cero es muy sencillo, pero aquí voy a explicar como instalarlo de forma fácil en debian y su posterior configuración.

Supongo que tenemos instalados los paquetes: gcc, perl, libgd, libpng y zlib.

Ahora instalamos MRTG:

# apt-get install mrtg mrtg-contrib mrtgutils 

Para configurarlo, tenemos dos opciones:

1) Usar el método descrito en la documentación:

cfgmaker --global 'WorkDir: /home/httpd/mrtg' \
--global 'Options[_]: bits,growright' \
--output /home/mrtg/cfg/mrtg.cfg \
community@router.abc.xyz

2) Configurar el fichero /etc/mrtg.cnf por nosotros mismos.

Voy a escoger la segunda forma, ya que resulta más fácil de explicar todo con un ejemplo, además el anterior programa no hace más que generar una plantilla, y para eso, también os la doy yo aquí:

WorkDir: /var/www/mrtg # Es la ruta donde quieres generar las gráficas
Language: spanish # Para que el informe esté en nuestro idioma
WriteExpires: Yes # Para crear archivos .meta y obligar a refrescar las estadísticas cada cierto tiempo
Target[index]: `/usr/bin/mrtg-ip-acct eth0` #Comando que genera informe
MaxBytes1[index]: 512000 # Tu velocidad de bajada
MaxBytes2[index]: 38400 # Tu velocidad de subida
Title[index]: Análisis del tráfico total en eth0 #Titulo de la pagina
YLegend[index]: Tráfico #Leyenda vertical gráficos
PageTop[index]: <h1>Análisis del tráfico de Internet</h1> #Texto que se pondrá al principio de la página.

** Nota: Le he llamado index a la página por comodidad ya que sólo quiero monitorizar el tráfico de 1 tarjeta de red, pero lo usual suele ser en lugar de poner todo: variablequesea[index] = loquesea, suele ser variablequesea[eth0/1/2…]=loquesea (en el target, es decir, la primera línea es donde se especifica que tráfico analizar: el de eth0 en este caso, pero se pueden tener más targets con otros índices no llamados index, por ejemplo index2 o red2 y crea una web con un informe para cada target, pero hacen falta el resto de variables).

Luego queda meter en el crontab algo como esto:

*/5 * * * * root /usr/bin/mrtg /etc/mrtg.cfg

Es un poco inseguro ejecutar como root, luego sería mejor crear un usuario mrtg-user y ejecutarlo con esos privilegios (teniendo cuidado que tenga permiso para escribir en el directorio de los informes).

Luego sólo nos queda reiniciar el crond:

# /etc/init.d/crond restart

Y cada 5 minutos se refrescarán nuestras estadísticas.

Bibliografía

http://www.neozero.net/linux/manuales/mrtg/ (ya no funciona)

http://oss.oetiker.ch/mrtg/doc/mrtg-unix-guide.en.html