Cacti es una herramienta escrita en PHP que permite monitorear dispositivos de red a través de SNMP, Incluye de serie gráficas que se pueden ligar a una fuente de datos para ver lo que sucede, permite la instalación de extensiones para obtener más capacidades como lo son ReportIt (para generar reportes) y weathermap (para generar un mapa de red)
En esta guía paso a paso se explicará como instalar Cacti y los dos plugins mencionados anteriormente en un sistema Linux.
Pre-requisitos
- Tener un ambiente LAMP configurado
- Tener RRDtool instalado, en distribuciones Debian basta con ejecutar el comando
sudo apt-get install rrdtool
- Tener instalado SNMP, en distribuciones Debian basta con ejecutar el comando
sudo apt-get install snmp
Instalación de Cacti
- Descargar Cacti desde su página web www.cacti.net. Bajar el archivo tar desde la sección de descargas
- Extraer el archivo tar bajado con el siguiente comando:
tar xzvf cacti-version.tar.gz
- Crear una carpeta llamada cacti en el directorio web de Apache y copiar ahi los archivos descomprimidos
sudo mkdir /var/www/cacti/ sudo cp -r cacti-version/* /var/www/cacti/
En algunos casos el directorio web es no es solo /var/www/, sino /var/www/html/ entonces los comandos quedarán de la siguiente forma:
sudo mkdir /var/www/html/cacti/ sudo cp -r cacti-version/* /var/www/html/cacti/
Todos los comandos aquí descritos usan la ruta /var/www/, si no es tu caso, modificalos para que coincidan con la ruta de tu instalación.
- Cambiar los permisos para que Apache pueda modificar los archivos dentro de las carpetas rra y log. Posicionarnos en la carpeta /var/www/cacti/ y ejecutar el siguiente comando:
sudo chown -R cactiuser rra/ log/
En donde cactiuser es el usuario con el que se ejecuta apache, en distribuciones Debian suele ser www-data
- Modificar el archivo /etc/crontab y añadir la siguiente línea al final
*/5 * * * * cactiuser php /var/www/html/cacti/poller.php > /dev/null 2>&1
- Crear la base de datos para Cacti
mysqladmin --user=root create cacti
Si en tu sistema el usuario mysql root tiene contraseña no te olvides de poner la bandera de password -p y escribir tu contraseña cuando se te solicite
mysqladmin --user=root create cacti -p
- Importar la base de datos de Cati
mysql cacti < cacti.sql
- Crear un usuario MySQL exclusivo para Cacti.
mysql --user=root mysql
GRANT ALL ON cacti.* TO cactiuser@localhost IDENTIFIED BY 'secreto'; flush privileges;
- Modificar el archivo include/config.php y especificar el tipo de motor de base de datos, nombre de la base de datos, host, usuario y contraseña.
$database_type = "mysql"; $database_default = "cacti"; $database_hostname = "localhost"; $database_username = "cactiuser"; $database_password = "secreto";
- En el navegador ir a http://localhost/cacti/, deberá aparecer un mensaje como este:
Dar clic en siguiente.
- Aparece una pantalla en donde se nos pregunta por el tipo de instalación. Seleccionamos “New Install” y damos clic en siguiente
- Aparece una última pantalla de confirmación en donde todos los campos deben de lucir en verde, si alguno de los campos esta de color rojo asegúrate de tener instalado snmp y RRDtool y que las rutas a los archivos sean las correctas
Dar clic en finalizar para finalizar la instalación
- Una vez terminada la instalación del sistema, se nos redirigirá a una pantalla de login, por defecto el usuario y la contraseña son para ambos admin
- La primera vez que ingresamos se nos solicita cambiar la contraseña. Hay que elegir una nueva y confirmarla.
- ¡Listo!, ahora estamos dentro de la aplicación, que debe lucir como ésta captura:
Agregar un dispositivo
En console>devices aparece el listado de los dispositivos que se están monitoreando. Por defecto Cacti ya trae incluido al propio sistema huésped que se puede ver con el nombre de localhost.
Para dar de alta un nuevo dispositivo presionar Add y aparecerá una pantalla en donde agregar los datos SNMP del nuevo dispositivo.
Agregando un dispositivo TP-LINK |
En donde dice “description” poner un nombre descriptivo, en “Hostname” poner la ip, en “Host Template” elegir la plantilla que más describa el dispositivo que se quiere agregar, si no se esta seguro usar “Generic SNMP-enabled Host”. En la sección llamada “SNMP options” configurar las opciones para que coincidan con las de tu dispositivo SNMP, normalmente los valores de Port, Timeout y Maximum OID’s per request se dejan por defecto.
Una vez agregado, el dispositivo estará en el listado de dispositivos(Console>Devices) y tendrá leyenda de Status Unknown, esto es debido a que todavía no hemos agregado una fuente de datos para graficar. Dar clic en el dipsositivo y seleccionar la opción de “Create graphs for this Host”
Aparecerá una pantalla en donde se mostrarán diferentes opciones para crear gráficas. Si SNMP está correctamente configurado en la sección Data Query [SNMP] existirá un listado de interfaces disponibles para graficar. Seleccionar las interfaces que se quieran y el tipo de gráfica y dar clic en crear.
Si no aparecen interfaces dar clic en el circulo verde para forzar una nueva consulta SNMP, si esto no funciona verificar la configuración SNMP del dispositivo.
Ya con las gráficas creadas para el nuevo dispositivo, despues de 5 minutos, tiempo suficiente para que el poller se haya ejecutado, el estado del mismo deberá cambiar a UP, de lo contrario verificar que SNMP funciona correctamente.
Dispositivos en UP |
Sección de gráficas
La sección de gráficas de Cacti sirve para tener un listado de gráficas y de dispositivos que se quieran mostrar. Esta lista se configura de forma manual, de tal forma que aunque se creen nuevos dispositivos éstos no aparecerán en el listado hasta que se hayan agregado a la lista. Por defecto viene agregado el dispositivo localhost. Cuando se agrega un dispositivo también se agregan automáticamente todas su gráficas.
Para agregar el dispositivo creado anteriormente a la lista de gráficas ir a Console> Graph trees> Default Tree y en la sección de Tree Items presionar Add. Aparece una pantalla como la siguiente:
En Tree Item Type elegir Host y en Host elegir el dispositivo que se quiere agregar a la lista. Presionar “create” para finalizar. Ahora, en la sección de gráficas dentro de “Default tree” deberá aparecer el dispositivo agregado mostrando todas las gráficas que éste tenga:
Esperar unos minutos para que las gráficas muestren algo de información.