miércoles, 12 de junio de 2013

MRTG - Configuración rápida para Debian Wheezy

MRTG:
http://oss.oetiker.ch/mrtg/

Este procedimiento paso a paso sirve para el caso en que necesitamos empezar a monitorear rápidamente desde unos pocos a centenares de puertos físicos en equipamiento de red (switches, routers), y otros equipos (servidores, appliances varios, etc.), que publiquen información usando agentes SNMP.


Esos agentes deben ser configurados en los equipos a monitorear, esta tarea normalmente es muy fácil de hacer en equipamiento de red, se tarda algo más en configurar agentes en sistemas operativos y appliances (hay que instalar y configurar el servicio, probarlo).


La configuración por default de MRTG empieza a guardar información y a ordenarla de modo tal de disponer de datos diarios, semanales, mensuales y anuales por elemento monitoreado (interfaces físicas como puertos y lógicas como vlans, por ejemplo).


MRTG es sumamente mucho más potente que esta configuración básica, pero esa flexibilidad requiere mayor tiempo de análisis, planificación y configuración, lo que suele ir contra la necesidad de iniciar el acopio de información sobre el tráfico de red lo antes posible. Una plan alternativo sería montar muy rápido una infraestructura básica de acopio de información y en background iniciar el montaje de una infraestructura más refinada y específica.


Se puede usar MRTG en Linux, Windows, etc. más o menos con la misma simplicidad que muestra el procedimiento de abajo. Esta configuración es para Linux, Debian Wheezy.


Espero que les sea util.


Las fuentes, se las debo, básicamente es un tutorial ensamblado desde varias fuentes con un objetivo puntual: velocidad de implementación.



Pasos para configurar:


0) Configurar SNMP en server/equipo de red (esta configuración trabaja con la comunidad "public")


Cisco

http://www.cisco.com/en/US/tech/tk648/tk362/technologies_tech_note09186a0080094aa4.shtml
http://www.netcraftsmen.net/resources/archived-articles/370-configuring-snmp-in-cisco-routers.html

Linux & Windows

http://juliorestrepo.wordpress.com/2012/06/27/configuracion-de-un-agente-snmp-en-linux-y-windows-metodo-julio-restrepo/


1) Instalar MRTG:

apt-get install mrtg

2) Ver si funciona agente snmp en cliente a agregar

snmpwalk -v 2c -c public IP-cliente

3) Crear configuracion

cfgmaker public@IP-cliente > /etc/mrtg-switch-ubicacion-nombre.cfg

4) Modificar WorkDir en .cfg y crear directorio

y apuntar a un subdir (para no mezclar los png/index de varios equipos)

* Este paso asume que vas a usar un directorio para los files generados para cada dispositivo/server que vas a monitorear. Por ejemplo, usando un subdirectorio:

mkdir /var/www/mrtg/switch-ubicacion-nombre/


5) Crear Index

indexmaker --title="Nombre-del-switch - IP-cliente - Modelo switch" --output /var/www/mrtg/switch-ubicacion-nombre/index.html /etc/mrtg-switch-ubicacion-nombre.cfg

*Este paso asume que tenés instalado un servidor web (apache por ejemplo), que publica archivos desde el directorio /var/www (En Debian, te haría falta crear el directorio mrtg y darle ownership al usuario www-data), así:

apt-get install apache2
mkdir /var/www/mrtg
chown -R www-data:www-data /var/www/mrtg


6) Correr mrtg para obtener datos iniciales

env LANG=C /usr/bin/mrtg /etc/mrtg-switch-ubicacion-nombre

7) Probar en Navegador y ver si dibuja bien los datos


8) Cargar a Crontab para que genere datos cada 5 min. y loguee información (un archivo por equipo):


"crontab -e" como root y agregar lo siguiente:


#

# Nombre-del-switch - IP-cliente - Modelo switch
#
*/5 *   * * *   root    if [ -x /usr/bin/mrtg ] && [ -r /etc/switch-ubicacion-nombre.cfg ] && [ -d "$(grep '^[[space:]]*[^#]*[[:space:]]*WorkDir' /etc/mrtg-switch-ubicacion-nombre.cfg | awk '{ print $NF }')" ]; then mkdir -p /var/log/mrtg ; env LANG=C /usr/bin/mrtg /etc/mrtg-switch-ubicacion-nombre.cfg 2>&1 | tee -a /var/log/mrtg/mrtg-switch-ubicacion-nombre.log ; fi

No hay comentarios: