Instalar MRTG y Snmp en Raspberry

mrtg

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.

capt1

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 ó 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:

capt2

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:

capt3

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

Esta entrada fue publicada en Herramientas de Administración, Raspberry Pi, Seguridad y Redes y etiquetada , , , , , , , , , . Guarda el enlace permanente.

4 respuestas a Instalar MRTG y Snmp en Raspberry

  1. carlos dijo:

    service mrtg start
    Failed to start mrtg.service: Unit mrtg.service failed to load: No such file or directory

    alguna idea?

    Me gusta

    • elalbir28 dijo:

      Te está diciendo que no existe el servicio o no está completamente instalado, asegúrate de haberlo hecho correctamente, así como de tener Apache también instalado, sin Apache MRTG no funcionará.

      Ya me dices como te ha ido.

      Salu2

      Me gusta

  2. patohenry dijo:

    una consulta con el raspberry voy hacer una central ip con elastix pero me dicen que administre el trafico con snmp… puedo hacerlo con tu aporte…!!!!

    Me gusta

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s