En este artículo explicamos cómo instalar Cacti en Rocky Linux 8 paso a paso, de manera que puedas trabajar con esta plataforma para monitorizar los sistemas y dispositivos de tu red.
Dispones de versiones de esta guía para otros sistemas operativos que podrás encontrar fácilmente en nuestro sitio con el buscador.
Contenido
Antes de instalar Cacti en Rocky Linux 8
Para poder seguir los pasos de esta guía de instalación de Cacti en Rocky Linux 8 deberás cumplir tan sólo los siguientes requerimientos básicos:
- Una máquina Rocky Linux 8 actualizada.
- La pila LAMP (servicio web con bases de datos MariaDB/MySQL y PHP).
- Acceso a línea de comandos con un usuario con privilegios de sudo.
En caso de no disponer aún del entorno adecuado puede ser útil echar un vistazo previo a nuestra guía de instalación de la pila LAMP en Rocky Linux 8.
Por otro lado, necesitaremos algunas herramientas de uso general que obtendremos desde los repositorios del sistema, así que los actualizamos:
~$ sudo yum update
E instalamos dichas herramientas:
~$ sudo yum install -y policycoreutils-python-utils tar wget
Cómo descargar Cacti para Rocky Linux 8
Vamos a descargar Cacti para Rocky Linux 8 para lo que visitaremos la sección de descargas de su sitio web, donde siepmre encontraremos la última versión estable:
Bajo el enlace «Linux/Unix» encontraremos un paquete en formato .tar.gz que podremos descargar directamente desde el navegador o, si trabajamos remotamente, desde consola con la herramienta wget:
~$ wget https://files.cacti.net/cacti/linux/cacti-1.2.20.tar.gz
Cómo instalar Cacti en Rocky Linux 8
Para poder instalar Cacti en Rocky Linux 8 es necesario seguir una serie de pasos antes de poder lanzar el instalador web, de forma que el sistema quede preparado para que la instalación resulte exitosa. Veamos detalladamente en qué consisten estos pasos.
Dependencias
Cacti necesita algunas herramientas específicas que instalaremos desde los repositorios de Rocky Linux 8:
~$ sudo yum install -y net-snmp-utils rrdtool
Archivos de Cacti
Vamos a descomprimir el paquete que descargamos anteriormente en su ubicación definitiva:
~$ sudo tar xf cacti-1.2.20.tar.gz -C /var/www/
Para facilitar la instalación, renombraremos el subdirectorio que se acaba de crear dejándolo sin números de versión en su nombre:
~$ sudo mv /var/www/cacti-1.2.20/ /var/www/cacti
Como Cacti necesita escribir en su propio directorio, cambiamos el propietario del mismo al usuario con el que corre el servicio web en Rocky Linux 8:
~$ sudo chown -R apache: /var/www/cacti/
Es recomendable cambiar la contraseña por defecto de acceso a la base de datos de Cacti, así que editamos el archivo de configuración:
~$ sudo nano /var/www/cacti/include/config.php
Buscamos la siguiente línea:
... $database_password = 'cactiuser'; ...
Y cambiamos la contraseña:
... $database_password = 'XXXXXXXX'; ...
Recuerda el nuevo valor, porque lo utilizaremos más adelante.
En el caso de acceder a la plataforma mediante dominio, nombre DNS, etc. en lugar de dirección IP, buscaremos también la siguiente línea:
... //$cacti_cookie_domain = 'cacti.net'; ...
La activaremos eliminando el doble carácter // al inicio de línea y sustituiremos el valor por defecto por nuestro dominio o nombre DNS:
... $cacti_cookie_domain = 'rocky8.local.lan'; ...
Ya podemos guardar y cerrar el archivo.
SELinux
En el caso de tener activado SELinux en Rocky Linux 8, lo que ocurre por defecto, conviene crear un nuevo contexto para el directorio de instalación de Cacti y el servicio web:
~$ sudo semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/cacti(/.*)?"
Una vez creado, aplicamos el contexto con restorecon:
~$ sudo restorecon -R /var/www/cacti
Base de datos
Además de crear la base de datos, Cacti requiere algunos ajustes en la configuración del motor de bases de datos que estemos utilizando en Rocky Linux 8. A continuación mostramos cómo configurar las dos posibilidades nativas de la distribución. En el caso de que el instalador requiriese algún valor distinto o adicional volveremos a este paso para satisfacerlo.
Configuración de MySQL para Cacti
Editamos el archivo de configuración:
~$ sudo nano /etc/my.cnf.d/mysql-server.cnf
Y añadimos al final del archivo las siguientes directivas:
... join_buffer_size=32M innodb_buffer_pool_size=1024M innodb_flush_log_at_timeout=3 innodb_read_io_threads=32 innodb_write_io_threads=16 innodb_buffer_pool_instances=9 innodb_io_capacity=5000 innodb_io_capacity_max=10000
Guardamos el archivo y reiniciamos el servicio:
~$ sudo systemctl restart mysqld
Configuración de MariaDB para Cacti
Editamos el archivo de configuración de este servidor:
~$ sudo nano /etc/my.cnf.d/mariadb-server.cnf
Y en la sección server o en la sección mysqld añadimos estas directivas, teniendo cuidado de que no estén ya presentes con otros valores:
... join_buffer_size=32M innodb_file_format=Barracuda innodb_large_prefix=1 innodb_buffer_pool_size=1024M innodb_doublewrite=OFF innodb_flush_log_at_timeout=3 innodb_read_io_threads=32 innodb_write_io_threads=16 innodb_buffer_pool_instances=9 innodb_io_capacity=5000
Guardamos el archivo y reiniciamos el servicio:
~$ sudo systemctl restart mariadb
Preparación de la base
Ahora prepararemos la base de datos de Cacti conectando al servidor que tengamos instalado en Rocky Linux 8 con el cliente de consola y un usuario administrador:
~$ mysql -u root -p
Creamos la base de datos:
> create database cacti charset utf8mb4 collate utf8mb4_unicode_ci;
Creamos el usuario indicando la contraseña que utilizamos anteriormente:
> create user cactiuser@localhost identified by 'XXXXXXXX';
Damos privilegios al usuario sobre la base de datos:
> grant all privileges on cacti.* to cactiuser@localhost;
También tendremos que conceder permisos al usuario sobre la tabla de nombres de zonas horarias del servicio de bases de datos:
> grant select on mysql.time_zone_name to cactiuser@localhost;
Y cerramos la conexión:
> exit
Ahora creamos la estructura inicial de la base de datos a partir de un script SQL que proporciona Cacti para este fin:
~$ mysql -u root -p cacti < /var/www/cacti/cacti.sql
Por último, como la tabla de zonas horarias del servicio de bases de datos no suele estar poblada por defecto, también la inicializaremos:
~$ mysql_tzinfo_to_sql /usr/share/zoneinfo/ | mysql -u root -p mysql
PHP
Cacti requiere unos ajustes concretos sobre este lenguaje de programación, así que editamos su archivo de configuración:
~$ sudo nano /etc/php.ini
Buscamos las siguientes directivas:
... memory_limit = 128M ... max_execution_time = 30 ...
Y cambiamos sus valores por defecto por los mostrados a continuación:
... memory_limit = 400M ... max_execution_time = 60 ...
Además, Cacti también requiere la presencia de ciertas extensiones que instalaremos desde los repositorios de Rocky Linux 8:
~$ sudo yum install -y php-{gd,gmp,ldap,posix,snmp}
Para que todos estos cambios se apliquen, recargamos la configuración del servicio PHP-FPM:
~$ sudo systemctl reload php-fpm
Servicio web
Vamos a hacer navegable la aplicación creando un nuevo archivo de configuración para Apache:
~$ sudo nano /etc/httpd/conf.d/cacti.conf
El contenido será el alias, en este caso hemos usado /cacti, que permitirá acceder a la aplicación web:
Alias /cacti /var/www/cacti
Guardamos el archivo y aplicamos la configuración:
~$ sudo systemctl reload httpd
Cron
Por último, Cacti requiere la programación de una tarea del servicio Cron de Rocky Linux 8 para lanzar periódicamente la monitorización. Para ello creamos el archivo de tarea:
~$ sudo nano /etc/cron.d/cacti
El contenido será la siguiente línea:
*/5 * * * * apache /usr/bin/php /var/www/cacti/poller.php > /dev/null 2>&1
Una vez guardado el archivo, la tarea se lanzará cada 5 minutos.
Instalador web
Es el momento de cargar el instalador web de Cacti para Rocky Linux 8 desde un navegador, indicando la dirección (IP, dominio, nombre DNS, localhost si trabajamos localmente, etc.) y el alias que hayamos creado.
Por ejemplo, la máquina Rocky Linux 8 que hemos utilizado en este tutorial es accesible en el subdominio rocky8.local.lan (como especificamos anteriormente en el archivo de configuración de Cacti), y hemos creado el alias /cacti, por lo que usaremos http://rocky8.local.lan/cacti como URL:
En la primera página del instalador debemos iniciar sesión con el usuario administrador por defecto, admin, cuya contraseña es también admin.
Inmediatamente tendremos que cambiar dicha contraseña por otra más fuerte:
Es obligatorio usar caracteres alfanuméricos y especiales para que se acepte la nueva contraseña.
Iniciada la sesión, se mostrará el acuerdo de licencia de Cacti:
En esta misma sección podremos seleccionar el idioma del instalador, además de aceptar la licencia para poder continuar.
En el siguiente paso se comprueban los requisitos del sistema:
Si no se cumpliese algún requisito obligatorio habría que solventar el problema y recargar la comprobación (con el icono en forma de flecha del asistente de instalación).
Seguidamente elegiremos el tipo de instalación:
En este tutorial estamos instalando un servidor primario, así que dejamos seleccionada la opción por defecto.
En el siguiente paso se hará la comprobación de los permisos de directorios:
Se aplica lo dicho para la comprobación anterior.
A continuación se comprueban las versiones y ubicaciones de las herramientas del sistema que usa Cacti:
También se mostrará una información sobre el sistema de protección mediante listas blancas:
Tendremos que confirmar que hemos leído esta información para poder continuar.
Otra configuración que revisaremos será la del perfil predeterminado y el escaneo de red:
En esta sección lo más importante es comprobar que el rango de red mostrado corresponde al rango de la red local en que se encuentra el servidor Rocky Linux 8 que va a correr Cacti.
En cuanto a la configuración de plantillas, por defecto se instalarán todas:
Podrías desmarcar las que no te interesen, pero no molestan, así que puedes dejarlas todas.
Otra comprobación, en este caso de la base de datos, verificará que sea compatible con UTF8:
Con todas las configuraciones realizadas y comprobaciones pasadas llega el momento de realizar la instalación:
Para iniciar este proceso habrá que confirmarlo.
La instalación irá mostrando su progreso así como un registro de las tareas individuales que se van realizando:
Tras unos instantes la instalación finalizará con éxito:
Abandonaremos el instalador a través del enlace «Comenzar» que nos llevará a la interfaz principal de Cacti:
Como iniciamos sesión al principio de este proceso, seguiremos con la sesión de administrador iniciada en la aplicación.
Podemos comprobar el funcionamiento de la plataforma visitando la sección «Gráficos«, expandiendo «Default Tree» en el panel lateral y seleccionando la máquina local Linux:
Si ha transcurrido suficiente tiempo desde el inicio del proceso ya deberían mostrarse los gráficos de las monitorizaciones por defecto. Si no se muestra nada, habrá que esperar un poco (la página se refresca automáticamente cada 5 minutos) hasta que empiecen a aparecer los datos.
Conclusión
Ahora que ya sabes cómo instalar la plataforma Cacti en tu máquina Rocky Linux 8, ya puedes empezar a monitorizar distintos sistemas y dispositivos de tu red y vigilar su estado a través de coloridos gráficos.
Si tienes alguna sugerencia o quieres notificar un error puedes dejar un comentario que, aunque están moderados para luchar contra el SPAM, se revisan prácticamente a diario.
¡Apoya comoinstalar.me!
¿Ya funciona esta aplicación en tu sistema gracias a nuestra guía? Si es así y quieres agradecérnoslo siempre es bienvenida cualquier mínima aportación al mantenimiento y creación de nuevos tutoriales. Además, se priorizan las solicitudes de actualización de los tutoriales a nuevas versiones o consultas de problemas técnicos durante la instalación.
Puedes ayudarnos dejando una propina de tan solo 1 $ desde PayPal:
O, si te sientes especialmente agradecido, puedes invitarnos a un café:
¡Gracias!