Monitorización de Redes con CACTI bajo Debian 8.x

Que es CACTI

cactiCacti es una solución completa para la monitorización de redes mediante gráficos y recopilación de datos, todo ello gracias a la potencia de RRDTool‘s. Podremos tener información prácticamente a tiempo real sobre nuestros routers, switches o servidores, tráfico de interfaces, cargas, cpu, temperaturas, etc.

Este sistema de monitorización, contiene un recolector de datos excelente, un sistema avanzado de creación de plantillas y gráficos y una completa interfaz de gestión de usuarios. Su instalación no es realmente compleja, lo que lo hace uno de los sistemas más completos y además, open source del momento.

La aplicación está construida en php, y utiliza MySql para el almacenamiento de información sobre los gráficos y datos recogidos. El protocolo utilizado para la comunicación con los distintos equipos es SNMP

Cacti requiere las siguientes aplicaciones instalados en el sistema

  • RRDTool 1.0.49 o superior, 1.4+ recomendado
  • MySQL 5.x o superior
  • PHP 5.1 o superior
  • Web Server que soporte PHP en este caso Apache

1. Es recomendable a fin de no tener problemas con la instalación del servidor snmpd y las actualizaciones modificar el archivo del repositorio de Debian, editándolo de la siguiente manera:

# nano /etc/apt/sources.list

donde comentaremos con el # la linea que dice:

# deb cdrom:[Debian GNU/Linux 8.1.0 _Jessie_ - Official i386 DVD Binary-1 20150606-13:00]$

NOTA: es posible que difiera un poco la linea, pero debes fijarte que lo que comentemos sea la búsqueda de los paquetes en el CDrom.

Agregamos al final las siguientes líneas:

# Repo de aplicaciones privadas
 deb ftp://ftp.debian.org/debian stable main contrib non-free

2. Ingresamos como super usuario para poder realizar las instalaciones en primer lugar del servidor web APACHE junto con PHP

# apt-get install apache2 mysql-server php5 php5-mysql

dejamos que todo lo indicado se instale, es recomendable usar Internet para que esta instalación se realice de otro modo también es posible hacerlo con el CD de instalación de su Debian 8.x

Una vez que llegue a instalarse el mySQL nos solicitara la clave del root si dejas en blanco no se modificara dicha clave si antes ya las colocaste (es recomendable poner la clave) esto lo hará dos veces, espere hasta que el proceso termine.

3. Ahora instalaremos otros complementos del PHP que faltan de la siguiente manera:

# apt-get install php5-curl php5-xmlrpc php5-intl

de igual forma aguardamos a que se instalen los complementos.

El CACTI requiere de forma obligatoria, instalar el RRDTool, para ello digitamos el siguiente comando en la consola:

# apt-get install rrdtool

RRDtool es el acrónimo de Round Robin Database Tool . Se trata de una herramienta que trabaja con una base de datos que maneja planificación según Round-Robin. Esta técnica trabaja con una cantidad de datos fija, definida en el momento de crear la base de datos, y un puntero al elemento actual.

El funcionamiento es el siguiente: se trata la base de datos como si fuese un círculo, sobrescribiendo los datos almacenados con anterioridad una vez alcanzada la capacidad máxima de la misma. Esta capacidad máxima dependerá de la cantidad de información que se quiera conservar como historial.

Su finalidad principal es el tratamiento de datos temporales y datos seriales como temperaturas, transferencias en redes, cargas del procesador.

Instalación del protocolo snmp y el servidor snmpd

Que es el snmp?

Es el Protocolo Simple de Administración de Red o SNMP (del inglés Simple Network Management Protocol) es un protocolo de la capa de aplicación que facilita el intercambio de información de administración entre dispositivos de red. Los dispositivos que normalmente soportan SNMP incluyen routers, switches, servidores, estaciones de trabajo, impresoras, módems y muchos más. Permite a los administradores supervisar el funcionamiento de la red, buscar y resolver sus problemas, así como planear su crecimiento.

Hasta este punto tenemos instalado el servidor web junto con PHP, ahora vamos a instalar el protocolo snmp y el servidor de dicho protocolo, los cuales son necesario para empezar el monitoreo de nuestro equipo.

# apt-get install snmp
# apt-get install snmpd

Esperamos que el proceso termine sera relativamente rápido comparado con el proceso de instalación del web server.

Ahora bien debemos configurar el agente snmp y snmpd para esto debemos ingresar al directorio por defoult del protocolo y realizamos una respaldo de los siguientes archivos.

# cp /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.orig
# cp /etc/snmp/snmp.conf /etc/snmp/snmp.conf.orig

Ahora Editamos los archivos siguientes,:

# cd /etc/snmp/snmpd.conf –> que es la configuración del servidor del agente de Net-SNMP.
# cd /etc/snmp/snmp.conf –> que es la configuración del del agente de Net-SNMP.
# nano snmpd.conf

Eliminamos todo el contenido e ingresamos las siguientes lineas:

# AGENT BEHAVIOUR
 #

# Listen for connections from the local system only
 #agentAddress udp:127.0.0.1:161
 # Listen for connections on all interfaces (both IPv4 *and* IPv6)
 agentAddress udp:161,udp6:[::1]:161

Grabamos y necesitamos reiniciar el server snmpd asi:

# /etc/init.d/snmpd restart

Para probar si todo esta bien debemos usar el siguiente comando

# snmpwalk -v 1 -c public 10.0.2.15

Finalmente debemos instalar el CACTI

# apt-get install cacti

ahora solo debes seguir las instrucciones automaticas de instalacion, una ves finalizado para ingresar solo debes abrir el navegador y colocar la URL del equipo donde se instalo: así por ejemplo:

http://localhost/cacti

ingresamos la clave y usuario admin (se requerirá cambio de calve), listo ahora puedes empezar a monitorear tu red y tus equipos conectados a ella.

Instalacion de un plugins

Instalacion de settings

En primera instancia instalaremos el plugin settings para ello lo descargamos de la siguiente direccion URL, oficial de cacti.

http://docs.cacti.net/plugins

o si deseas directamente desde este link

docs.cacti.net/_media/plugin:settings-v0.71-1.tgz

colocandose en la carpeta /home/hvallejo/Descargas/  (en vez de hvallejo debes indicar tu carpeta de usuario)  y si usas la consola puedes utilizar el comando wget; de esta forma:

# wget docs.cacti.net/_media/plugin:settings-v0.71-1.tgz

Luego se debe desempaquetar en la carpeta plugins, de esta manera

# tar zxvf settings-v0.71-1.tgz -C /usr/share/cacti/site/plugins

Hecho esto solo basta con ingresar al cacti desde el navegador indicando la http://direccion_IP/cacti y en el menu izquierdo ir a Plugin Managament , en el listado derecho aparecera settings como un plugin, solo se debe dar click en el boton verde y se activara..!

Instalacion de thold

Thold es un plugin que permite enviar alertas, mensajes y demás al o los usuarios administradores reportando cualquier suceso ocurrido en un equipo determinado, pudiendo manejar umbrales de maximos y minimos a fin de poder tener un maximo control sobre los equipos activos de la red.

Para loc ual es necesario tener previamente instalado el plugin settings. Bajamos el plugin de la siguiente direccion URL:

http://docs.cacti.net/plugins

o si deseas directamente desde este link

http://docs.cacti.net/_media/plugin:thold-v0.5.0.tgz

colocandose en la carpeta /home/hvallejo/Descargas/  (en vez de hvallejo debes indicar tu carpeta de usuario)  y si usas la consola puedes utilizar el comando wget; de esta forma:

# wget http://docs.cacti.net/_media/plugin:thold-v0.5.0.tgz

Luego se debe desempaquetar en la carpeta plugins, de esta manera

# tar zxvf plugin:thold-v0.5.0.tgz -C /usr/share/cacti/site/plugins

De igual forma, hecho esto solo basta con ingresar al cacti desde el navegador indicando la http://direccion_IP/cacti y en el menu izquierdo ir a Plugin Managament , en el listado derecho aparecera settings como un plugin, solo se debe dar click en el boton verde y se activara..!

Instalacion de Weathermap

El plugin de Weathermap permite tener una visualización general de la topología. Brinda un gráfico que permite corroborar el estado de la red, por medio de los datos que proporciona Cacti.

La instalación de Weathermap, al igual que la de cualquier plugin, es muy sencilla. A continuación se listarán los pasos a seguir.

Pre-requisitos

    • Tener instalado Cacti.

La librería GD de PHP. En distribuciones Debian basta con escribir el comando

apt-get installphp5-gd

Instalación

  1. Ir a la página https://github.com/howardjones/network-weathermap/releases/tag/version-0.97a  y descargar esta version es recomendable para la version que se instala en debian.
  2. Extrae el archivo .zip en un directorio temporal y guardar los archivos en una ubicación conocida.
    Nota: Recuerda que es importante no cambiar el nombre de la carpeta generada, porque el plugin podría no funcionar.
  3. El siguiente paso es copiar la carpeta de weathermap dentro del directorio de instalación de Cacti. En este caso tu directorio de Plugins debe ser:
# /usr/share/cacti/site/plugins/

Copiar el folder completo de weathermap dentro del folder de plugins en el servidor web. Debe de quedar en una ruta como la siguiente:

# /usr/share/cacti/site/plugins/weathermap

Es importante otorgar los permisos de grupo y usurios a esta carpeta como root en ambos casos.

 # chown root:root -R weathermap/

Tambien es importante otorgar los permisos de ejecucion y lectura a a los usuarios de tal manera que quede la carpeta de esta manera usa el comando:

# ls -l

cacti-chmod-plugins

Una vez con todos los archivos del plugin copiados ve a Cacti y selecciona Console > Plugin Management. Aparecerá una ventana con los plugins que tienes actualmente. Debe de aparecer el de Weathermap con una fecha azul hacia abajo. Hacer clic en la opción de instalar plugin.

UntitledUna vez instalado el plugin deberá de aparecer una nueva pestaña en la parte superior llamada Weathermap.

UntitledAbrir el archivo editor.php en la carpeta de weathermap y asegurarse que esta ENABLED=true al principio del archivo.

editor.phpAsegurarse que el usuario de Apache (En distribuciones debian suele ser www-data) tenga los permisos necesarios para modificar los archivos del plugin.

# chmod-R 774 /var/www/html/cacti/plugins/weathermap
# chown -R www-data /var/www/html/cacti/plugins/weathermap

Generar un mapa

A continuación se mostrarán los pasos para crear un mapa desde el GUI:

  1. Hacemos clic en la pestaña de Console > Weathermaps. Esto desplegará una lista de los mapas que existen actualmente. Para agregar un mapa hacer clic en el botón “Add”.Untitled
  2. Se mostrarán los mapas que están actualmente en la carpeta de ../cacti/plugins/weathermap/config y que no han sido agregados a weathermap. En esta ocasión seleccionar simple.conf (que viene creado por defecto) y para mostrarlo en el listado se hace nuevamente clic en “Add”.UntitledConsiderar que se pueden agregar manualmente mapas a la carpeta mencionada anteriormente, creando un archivo de texto con extensión conf y los permisos establecidos para el usuario de apache(en Debian es www-data). De esta manera aparecerá en nuestro listado como una opción para agregar.
  3. Visualizar el nombre del mapa listado en la pantalla principal de Weathermaps. Para editar el mapa existente, haces clic en dicho mapa y te mostrará el editor web.Untitled
  4. Se mostrará en la pantalla el editor web de weathermap, el cual te permite editar el mapa, así como agregar nodos y links.Untitled

Editar un mapa

A continuación se mostrarán los pasos para editar un mapa de weathermap y poder adaptarlo a la topología propia.

  1. Para agregar un nuevo node hacer clic en el botón “Add Node” y luego hacer clic en el lugar de mapa donde quieres que se encuentre.
  2. Untitled
  3. Es posible hacer clic en cualquier node existente para obtener sus propiedades y editarlas según nuestras necesidades.Untitled
  4. Para agregar un nuevo link, hacer clic en “Add Link” y luego seleccionar los dos nodes que unirá el link.Untitled
  5. Puedes borrar un node o un link desde la ventana de propiedades que se abre al hacer clic en cualquiera de ellos.Al configurar las opciones de Cacti en el archivo editor-config.php, habrá opciones adicionales para escoger un data source directo desde Cacti, en la ventana de propiedades del link. De esta manera puedes asociar tus dispositivos reales con el mapa, para ver el tráfico generado según los colores que marca el gráfico.Tener en cuenta que no existe algún botón para guardar, ya que todos los cambios se escriben inmediatamente en el archivo de configuración.
  6. Para volver a la pantalla del listado de mapas seleccionar el botón “Change File”. Luego haces clic en la pestaña de Weathermap y podrás visualizar tu mapa en la lista.Untitled

Conociendo el archivo de configuración

Weathermap utiliza un archivo de texto plano llamado weathermap.conf. Por default se hará lectura de dicho archivo para generar el archivo png. El archivo cuenta con tres secciones: la definición de los Nodes, de los Links y Global Settings. A continuación explicaremos los conceptos utilizados:

Node: Son los puntos en la red que están unidos. Dependiendo del nivel de detalle, un nodo puede ser una ciudad o un router. Un nodo tiene 3 partes: un nombre único para el nodo, su posición desde la esquina superior derecha expresada en píxeles y una etiqueta opcional.Untitled

Link: Son las rutas en la red que unen a los nodes. Comúnmente son típicos enlaces. Un link tiene 3 partes: un nombre único para el enlace, y dos nombres únicos para los dos nodes que une.Untitled

Algo a considerar es que el orden de los NODES es importante. El primer node es considerado como local cuando se trata del origen de datos. Si observas que el flujo de datos en tu mapa está fluyendo en dirección equivocada, prueba con intercambiar el orden de los nodos aquí.

Global Settings

Las configuraciones comúnmente se encuentran al principio del archivo, y especifican información básica del mapa. Las configuraciones mínimas son:

UntitledEsto especifica el tamaño del mapa en píxeles. Si quieres algo más personalizado puedes cambiar el color del fondo del mapa usando una imagen en formato PNG. En este caso el tamaño del mapa será del tamaño de la imagen.

Untitled