Monitorización de recursos de red con SNMP y Cacti

Muchas veces tenemos una red instalada, pero no sabemos de forma más o menos concreta cómo va. Si en esta situación se tienen momentos de ancho de banda muy bajos, el hecho de saber el estado de salud de la red, se convierte en algo imprescindible. Evidentemente, es algo que en un instituto puede ser muy conveniente, más aún cuando está basado en licencias GPL y se monta sobre Linux. Es decir, … no es necesario invertir dinero en ello.

A modo de presentación, o de ¿qué hace? hay aquí una serie de pantallazos:

http://www.cacti.net/screenshots.php

Sin meterme en detalles de qué es SNMP (se llenarían horas escribiendo), es la parte básica para las medidas de ancho de banda en cada equipo, así como otras cosas. Es un estándar que se puede encontrar en cualquier ordenador (con Linux, Windows, MacOSX, routers normales y corrientes, etc).

Aparte, el Cacti es un programa que ya se encarga de realizar las peticiones adecuadas para ir obteniendo las gráficas y mostrarlas de forma sencilla y coherente. Está basado en el excelente RRDTool, de Tobias Oetiker.

Instalación de SNMP en el equipo donde tendremos las gráficas

Simplemente, como root, instalamos el paquete snmp:

apt-get install snmp

Con este se nos instalará el ejecutable snmpwalk, que será con el que hagamos las pruebas con los equipos de los que queramos tener gráficas.

Instalación de SNMPd en un Ubuntu / Debian

Se trata del caso en que vamos a preguntarle a ese Linux por el estado de su ancho de banda, así como alguna que otra cosa.

apt-get install snmpd

vim /etc/default/snmpd

Donde dice:

SNMPDOPTS='-Lsd -Lf /dev/null -u snmp -I -smux -p /var/run/snmpd.pid 127.0.0.1'

se le quita el 127.0.0.1. Con él puesto, indica que sólo se escuchará por esa IP. Si se le quita, directamente escucha peticiones en cualquiera de las IPs del equipo. Vamos a realizar peticiones desde otro equipo, con lo que nos interesa dejarlo como sigue:

SNMPDOPTS='-Lsd -Lf /dev/null -u snmp -I -smux -p /var/run/snmpd.pid'

vim /etc/snmp/snmpd.conf

Se define el nombre de comunidad de forma que quede como sigue:

#       sec.name  source          community
#com2sec paranoid  default         public
#com2sec readonly  default         public
#com2sec readwrite default         private
com2sec  readonly  default         public

A continuación, se reinicia el servicio:

/etc/init.d/snmpd restart

Y finalmente, se comprueba que este nuevo equipo al que hemos configurado el snmpd, responde bien cuando se le pregunta. Lógicamente, la mejor prueba que se puede hacer es desde el propio equipo que hará las peticiones. Es decir, el equipo donde estarán las gráficas:

snmpwalk -v 2c -c public 192.168.1.1 .

Si funciona, es muy claro. Y si no funciona, también, es muy claro y lo dice pasado un breve tiempo.

Instalación de Cacti en Ubuntu / Debian

Conviene instalar una serie de paquetes juntos. Según la dependencia de Cacti a día de hoy (18-11-2008), no se instala mysql-server, que será necesario para que el Cacti funcione. Instalamos Apache2 también, o cualquier otro servidor web, ya que será necesario:

apt-get install cacti apache2 mysql-server

A continuación, al menos en lo que respecta al Cacti, aparecerán varias pantallas con preguntas:

A continuación, seguimos con la instalación a través de web:

http://192.168.1.1/cacti

Entrada por web: admin / admin
usuario: admin, contraseña: admin
Cambio forzado de contraseña

… y con todo esto finalmente llegamos a la entrada del Cacti:

Entrada en Cacti

Configuración de Cacti

Creación de un dispositivo (device). En este caso se trata de un router genérico, con lo que es mejor  escoger “generic SNMP”:

Creación de dispositivo (device)
Creación de dispositivo (device)

Una vez creado el dispositivo (device), está el enlace de “create graph” (crear nueva gráfica), con lo que se escoge lo que se quiera:

Como paso siguiente, debemos indicar dónde queremos que se vea la gráfica. Es decir, en qué lugar del árbol que tenemos. Seleccionamos “Graph tree”, pinchamos en “Add” y añadimos una gráfica que nos servirá a modo de índice:

Creación de gráfica en un lugar del árbol
Creación de gráfica en un lugar del árbol

Y dentro del mismo menú, creamos una entrada de tipo “host” donde tendremos todas las gráficas asociadas al equipo en cuestión:

Creación de entrada tipo host con todas sus gráficas
Creación de entrada tipo

Al crear un dispositivo (device) nuevo, si se trata de un Linux, se puede escoger la opción ucd/net SNMP (preferiblemente) o la de Local Linux:

Opciones para añadir un dispositivo (device) Linux
Opciones para añadir un dispositivo (device) Linux

y en este Linux, le digo que obtenga datos para las gráficas de mis dos interfaces: ethernet y wifi:

Preparar gráficas de interfaces ethernet y wifi
Preparar gráficas de interfaces ethernet y wifi

Según las gráficas del router, y añadiendo los interfaces ethernet y wifi (del router, no del equipo), podemos hacernos una idea de cómo se usa nuestro router:

Router: interfaces ethernet y wifi
Router: interfaces ethernet y wifi

5 Comentarios Agrega el tuyo

  1. Andrea dice:

    Victor:

    Gracias por este “tutorial” es lo que necesitaba.

  2. Toni dice:

    Muy buen tutorial, gracias por la ayuda!

  3. marco dice:

    Hola, excelente manual, yo lo instale en Cent0S 5.3, y me instalo todo bien, hago la consulta normal a un server remoto que tengo en Linux, y el cacti me muestra que esta recibiendo los datos y en la graficos el trafico lo muestra en los numeros pero no me grafica lo que obtiene, que puede ser, bueno soy nuevo en linux.
    Nota: No encontre donde ejecutar esta linea = SNMPDOPTS=’-Lsd -Lf /dev/null -u snmp -I -smux -p /var/run/snmpd.pid’
    gracias por sus respuestas

  4. gloria dice:

    Hola ya tengo instalado cacti y todo me funciona bien pero necesito saber como monitorear mi disco duro.
    Sera que me puedes ayudar con eso.
    Gracias

  5. Dani dice:

    Muchas gracias por el tutorial, me funciona de 10.
    xD

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