sudo: Jack of all trades, master of some

Monitorear tráfico de router con MRTG

2 comentarios

Para monitorear gráficamente el comportamiento del trafico de mi router, uso MRTG, sí, sé que existen otras soluciones más ‘lindas’ con brillo y estrellas, pero me gusta MRTG, simple, ligero y hace lo que quiero que haga. Este es el método que sigo para instalar y configurar MRTG usando Debian GNU/Linux y mrtg-rrd:

1. Instalar los paquetes necesarios y descargar mrtg-rrd.

aptitude install mrtg rrdtool librrds-perl
wget ftp://ftp.linux.cz/pub/linux/people/jan_kasprzak/mrtg-rrd/mrtg-rrd-0.7.tar.gz

2. Generar los parámetros de configuración de MRTG.

cfgmaker --output=/etc/mrtg.cfg public@ip-router

Nota: si el nombre de la comunidad (por defecto “public”) es modificado en la configuración del router, entonces se debe sustituir “public” por este.

3. Modificar los siguientes parámetros del archivo de configuración /etc/mrtg.cfg.

WorkDir: /var/www/mrtg
Options[_]: growright, bits
RunAsDaemon: Yes
Interval: 5
EnableIPv6: no
LogFormat: rrdtool
PathAdd: /usr/bin/

4. Crear el archivo /etc/mrtg-rrd.conf con lo siguiente.

/etc/mrtg.cfg

5. Crear el directorio que tendrá los gráficos y las bases de datos de mrtg.

mkdir /var/www/mrtg
chown root:www-data /var/www/mrtg
chmod 770 /var/www/mrtg

6. Indexar el contenido del directorio anterior.

indexmaker --output=/var/www/mrtg/index.html /etc/mrtg.cfg

7. Crear el archivo /etc/init.d/mrtg con lo siguiente.

#! /bin/sh
### BEGIN INIT INFO
# Provides:          mrtg
# Required-Start:
# Required-Stop:
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: mrtg init script
# Description:       This file is used to start, stop, restart,
#                    and determined status of the mrtg daemon.
# Author:            iceflatline 
### END INIT INFO

### START OF SCRIPT
set -e
# PATH should only include /usr/* if it runs after the mountnfs.sh script
PATH=/sbin:/usr/sbin:/bin:/usr/bin
DESC="mrtg"
NAME=mrtg
DAEMON=/usr/bin/$NAME
DAEMON_ARGS="/etc/mrtg.cfg"
PIDFILE=/etc/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME

# Exit if the mrtg package is not installed
[ -x "$DAEMON" ] || exit 0

# Load the VERBOSE setting and other rcS variables
. /lib/init/vars.sh

# Define LSB log_* functions.
# Depend on lsb-base (>= 3.0-6) to ensure that this file is present.
. /lib/lsb/init-functions

# Function that starts the mrtg daemon
start()
{
    env LANG=C start-stop-daemon --start --quiet \
    --exec $DAEMON -- $DAEMON_ARGS
}

# Function that stops the mrtg daemon
stop()
{
    start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 \
    --pidfile $PIDFILE
}

case "$1" in
  start)
    log_daemon_msg "Starting $DESC"
    start
    case "$?" in
        0) log_end_msg 0 ;;
        1) log_end_msg 1 ;;
    esac
    ;;
  stop)
    log_daemon_msg "Stopping $DESC"
    stop
    case "$?" in
        0) log_end_msg 0 ;;
        1) log_end_msg 1 ;;
    esac
    ;;
  restart|force-reload)
    log_daemon_msg "Restarting $DESC"
    stop
    case "$?" in
      0|1)
        start
        case "$?" in
            0) log_end_msg 0 ;;
            1) log_end_msg 1 ;;
        esac
        ;;
    esac
    ;;
    status)
    status_of_proc "$DAEMON" "$NAME"
    ;;
  *)
    echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}"
    ;;
esac
exit 0
### END OF SCRIPT

7. Hacer el archivo ejecutable.

chmod +x mrtg /etc/init.d/mrtg

8. Agregar el script a los run levels (2-5).

update-rc.d mrtg defaults

9. Ejecutar el script.

/etc/init.d/mrtg start

10. Copiar el archivo mrtg.cgi en /usr/lib/cgi-bin/ y hacerlo ejecutable.

chmod +x /usr/lib/cgi-bin/mrtg.cgi

Para visualizar los gráficos acceder a http://servidor/cgi-bin/mrtg.cgi

Nota: es necesario tener un servidor Web con soporte para CGI previamente instalado.

Comentarios desactivados
  1. Buenas Tardes

    En mi caso no tengo acceso al router, pues etecsa son los que tienen el pasword del mismo y por medidas de seguridad no nos quieren dar, se podrá graficar el trafico pero de la interfaz de cara a la wan.

    Saludos

    1. oneohthree 6 años atrás
      @Salbi

      Pídeles que te habiliten SNMP así podrás graficar cualquier interface del router.

      Saludos