MRTG (Multi router traffic grapher) es una aplicación de libre distribución desarrollada inicialmente para Unix/Linux, y comunmente utilizada para la monitorización de la carga/tráfico de routers y servidores de red a través del protocolo Snmp.
Instalación de Snmp en Raspberry:
El servicio Snmp no viene instalado por defecto en Raspbian, por lo que si queremos activarlo necesitaremos instalarlo:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install snmpd snmp
Para que nuestra Raspberry sea accesible desde cualquier otro equipo de la red necesitaremos abrir el fichero de configuración:
sudo nano /etc/snmp/snmpd.conf
Y hacer un par de cambios:
Sustituiremos la línea
agentAddress udp:127.0.0.1:161
por
agentAddress 161
Una vez hecho esto, en la línea siguiente a ‘#rocommunity public localhost‘ insertaremos:
recommunity public
Saldremos guardando los cambios con CTRL + X, confirmando a continuación con S ó Y.
Para que la nueva configuración surta efecto bastará con reiniciar el servicio con:
service snmpd restart
Instalación y configuración de MRTG en Raspberry:
Para insalar MRTG:
sudo apr-get install mrtg
Durante la instalación se nos preguntará si queremos que el fichero de configuración sea accesible únicamente por el ‘root’ , en nuestro caso por motivos de seguridad indicaremos que si.
MRTG necesita tener instalado un servidor web, si no lo tenemos instalado, podemos instalar Apache con:
sudo apt-get install apache2
creando a continuación el directorio en el que posteriormente se publicarán los datos de MRTG:
mkdir /var/www/html/mrtg
Configuración de MRTG:
La forma más fácil de añadir un dispositivo configurando MRTG de manera automática es a través de la herramienta cfgmaker , que forma parte del paquete MRTG y accesible desde la línea de comandos.
Siguiendo nuestro ejemplo, para añadir a MRTG una Raspberry que tiene como dirección IP la 192.168.2.29 y tiene Snmp instalado:
sudo cfgmaker public@192.168.2.29 >> /etc/mrtg.cfg
Accesible y modificable con:
sudo nano /etc/mrtg.cfg
Del que podemos salir e cualquier momento con CTRL + X, pulsando a continuación S ó Y si hemos realizado cambios y queremos guardarlos.
(*) En del momento de preparar este tutorial MRTG no había ajustado su ruta de trabajo a la utilizada en las versiones más reciente de Apache. Usando /var/www/mrtg en lugar de /var/www/html/mrtg , por lo que para que MRTG funcionara correctamente he tenido que modificar la ruta de trabajo a /var/www/html/mrtg en varios apartados del fichero de configuración. Por favor tenedlo en cuenta o os podéis encontrar con que MRTG no os funciona.
Una vez hecho lo anterior, necesitaremos generar un nuevo index.html, que nos permita tener acceso a los datos del dispositivo que hemos añadido, mediante de la siguiente instrucción:
indexmaker /etc/mrtg.cfg > /var/www/html/mrtg/index.html
Podremos ver el resultado iniciando mrtg manualmente con:
service mrtg start
Aunque lo suyo sea crear un servicio de manera que MRTG se ejecute automáticamente cada vez que se reinicie el sistema:
sudo nano /etc/init.d/mrtg
Se abrirá el editor de texto y en su interior pegaremos lo siguiente:
#! /bin/sh PATH=/sbin:/usr/sbin:/bin:/usr/bin DESC="MRTG" NAME="mrtg" DAEMON=/usr/bin/$NAME DAEMON_ARGS="/etc/mrtg.cfg –user root --logging /var/log/mrtg.log" case "$1" in start) echo "Starting $DESC..." env LANG=C $DAEMON $DAEMON_ARGS echo "$NAME started." ;; stop) echo "Stopping $DESC..." pkill $NAME &> /dev/null echo "$NAME stopped." ;; *) FULL_NAME=/etc/init.d/$NAME echo "Usage: $FULL_NAME {start|stop}." >&2 ;; esac exit
Guardando a continuación los cambios con CTRL + X, pulsando continuación S ó Y para confirmar.
Una vez hecho le daremos al fichero permisos de ejecución con:
sudo chmod +x /etc/init.d/mrtg
Y programaremos su ejecución automática cada vez que se reinicie el sistema con:
update-rc.d mrtg defaults
Llegados a este punto podemos reiniciar el sistema con:
sudo shutdown -r now
O reiniciar el servicio para que los cambios tomen efecto con:
sudo service mrtg restart
Una vez hecho esto habrá llegado el momento de probar si todo funciona, abriendo nuestro navegador e informando la siguiente URL:
http://ipderaspberryservidormrtg/mrtg
Que en el caso de mi Raspberry muestra lo siguiente:
Si queremos profundizar más en las estadísticas podemos hacerlo haciendo click en el gráfico, lo cual nos mostrará algo parecido a lo siguiente:
Voy a ver como sacarle partido a MRTG para sacar gráficos de las estadísticas de mi servidor NTP stratum 1 (alteageek.homelinux.org) . En cuando lo tenga en marcha publicaré como hacerlo.
Saludos y hasta el próximo post.
Santi