Cómo instalar Cacti en Rocky Linux

Cacti es una herramienta de supervisión de código abierto basada en PHP y MySQL. Es una robusta herramienta de monitorización y creación de gráficos de red que utiliza el protocolo SNMP (Simple Network Management Protocol) para recopilar y almacenar datos en el motor de datos RRDTool (Round-robin database tool). La RRDtool también se encarga de crear gráficos.

Cacti viene con algunas funciones estupendas y se ha convertido en una de las mejores herramientas para tareas de supervisión basadas en gráficos. Es adecuada para distintos tipos de empresas. Es muy adecuado para empresas como los ISP (Proveedores de Servicios de Internet), ya que Cacti ofrece una amplia gama de funciones de supervisión de hardware. También es adecuado para proveedores de servidores dedicados, ya que admite múltiples usuarios y cada usuario puede crear su propio diagrama.

Cacti es un marco extensible para la supervisión operativa y la gestión de fallos. Ofrece múltiples plantillas para diferentes dispositivos y diferentes gráficos/agregados/plantillas de gráficos. También puede funcionar con distintos tipos de servidores web, como Apache/httpd y Nginx.

Requisitos previos

Esta guía te enseñará a instalar la herramienta de monitorización cacti en el sistema Rocky Linux. Cacti se basa en PHP y MySQL, por lo que también instalarás esos paquetes. Además, instalarás el servidor web httpd.

A continuación se muestra el entorno de ejemplo para nuestra instalación de cacti:

  • SO: Rocky Linux 8.4 (Green Obsidian)
  • Dirección IP del servidor: 192.168.1.10
  • Privilegio Sudo root

Ahora vamos a comenzar la instalación de la herramienta de monitorización cacti.

Instalar las dependencias de los paquetes

En primer lugar, debes instalar algunas dependencias de paquetes para cacti. Debes ejecutar todos los comandos siguientes utilizando el privilegio root/sudo.

1. Añade el repositorio EPEL (Extra Packages for Enterprise Linux) al sistema Rocky Linux utilizando el comando que se indica a continuación.

sudo dnf install epel-release

Escribe‘y‘ y pulsa‘Enter‘ para continuar la instalación.

Añadir repositorio EPEL

2. Instala el servidor web httpd utilizando el siguiente comando.

sudo dnf install httpd -y

Y si se completa la instalación de httpd, inicia y habilita el servicio httpd.

sudo systemctl enable --now httpd
sudo systemctl is-enabled httpd

Iniciar y habilitar el servicio httpd

3. A continuación, debes instalar PHP en tu sistema. Por defecto, el repositorio Rocky Linux proporciona varias versiones de PHP. Y tú instalarás la última versión disponible en el repositorio, que es PHP 7.4.

Habilita el módulo PHP para la versión 7.4 utilizando el comando dnf que aparece a continuación.

dnf module enable php:7.4

Escribe‘y‘ para confirmar y pulsa‘Enter‘.

Habilitar el módulo PHP versión 7.4

Ahora ejecuta el comando DNF de abajo para instalar los paquetes PHP.

sudo dnf install -y php php-xml php-session php-sockets php-ldap php-gd php-json php-mysqlnd php-gmp php-mbstring php-posix php-snmp php-intl

Cuando finalice la instalación de los paquetes PHP, edita la configuración ‘/etc/php.ini‘ utilizando el editor nano/vim.

nano /etc/php.ini

Descomenta la opción‘date.timezone‘ y escribe tu zona horaria actual.

date.timezone = Europe/Amsterdam

Cambia la opción ‘memory_limit‘ y‘max_execution_time‘ como se indica a continuación.

memory_limit = 512M
max_execution_time = 60

Guarda la configuración y sal.

Ahora vuelve a cargar el servicio httpd para aplicar y completar la configuración PHP.

sudo systemctl restart httpd

4. Después de instalar todos esos paquetes, debes instalar SNMP y rrdtool.

El SNMP es utilizado por cacti para recopilar información de los dispositivos, y el rrdtool se utiliza para almacenar esos datos recopilados en el formato .rra, para luego mostrarlos en el panel de control de cacti como información gráfica.

Instala SNMP y rrdtool utilizando el comando dnf que se indica a continuación.

sudo dnf install -y net-snmp net-snmp-utils net-snmp-libs rrdtool -y

Una vez completada la instalación, inicia y habilita el servicio SNMP utilizando el siguiente comando.

sudo systemctl enable --now snmpd
sudo systemctl is-enabled snmpd

Iniciar y activar el servicio snmpd

Ahora pasa a la siguiente fase para instalar y configurar la base de datos MariaDB.

Instalar y configurar MariaDB

En este paso, instalarás y configurarás la base de datos mariadb en el sistema Rocky Linux. Además, añadirás algunas configuraciones adicionales a la base de datos mariadb, según los requisitos y recomendaciones de cacti.

1. Ejecuta el siguiente comando DNF para instalar los paquetes mariadb en tu sistema.

sudo dnf install -y @mariadb

Espera a que finalice la instalación de todos los paquetes.

2. A continuación, cambia tu directorio de trabajo actual al directorio‘/etc/mi.cnf.d‘ y edita la configuración de mariadb‘mariadb-server.conf‘ utilizando nano/vim.

cd /etc/my.cnf.d/
nano mariadb-server.cnf

Pega la siguiente configuración bajo la línea ‘[mysqld]‘. Esta configuración se basa en los requisitos de instalación de cacti.

character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci

innodb_file_format = Barracuda
max_heap_table_size=32M
tmp_table_size=32M
join_buffer_size=64M
# 25% Of Total System Memory
innodb_buffer_pool_size=1GB
# pool_size/128 for less than 1GB of memory
innodb_buffer_pool_instances=10
innodb_flush_log_at_timeout=3
innodb_large_prefix=1
innodb_read_io_threads=32
innodb_write_io_threads=16
innodb_io_capacity=5000
innodb_io_capacity_max=10000

log-error                      = /var/log/mariadb/mariadb-error.log
log-queries-not-using-indexes  = 1
slow-query-log                 = 1
slow-query-log-file            = /var/log/mariadb/mariadb-slow.logSave the configuration and exit.

3. A continuación, inicia y activa el servicio mariadb utilizando el siguiente comando.

sudo systemctl enable --now mariadb

Comprueba el servicio mariadb actual.

sudo systemctl is-enabled mariadb
sudo systemctl status mariadb

Asegúrate de que el servicio mariadb está activo y en ejecución. A continuación se muestra la salida similar que obtendrás.

Iniciar y habilitar el servicio MariaDB

4. Una vez completada toda la configuración de mariadb, carga y rellena la tabla de zonas horarias con las zonas horarias disponibles en tu sistema en la base de datos por defecto‘mysql‘.

Carga y rellena las tablas de zonas horarias en la base de datos ‘mysql‘ utilizando el siguiente comando.

mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql

Escribe la contraseña de tu raíz mariadb y pulsa‘Intro‘. Ahora continúa con el siguiente paso para crear una nueva base de datos y un nuevo usuario para la instalación de cacti.

Crear nueva base de datos y usuario para Cacti

En este paso, crearás una nueva base de datos y un nuevo usuario mariadb.

En primer lugar, inicia sesión en el intérprete de comandos mysql utilizando el comando mysql que aparece a continuación.

mysql -u root -p

Escribe tu contraseña de root de mariadb y pulsa‘Intro‘.

1. Crea una nueva base de datos ‘cacti’ utilizando la siguiente consulta.

create database if not exists cacti;

2. Crea un nuevo usuario «cactiuser» y concédele todos los privilegios de la base de datos«cacti«.

CREATE USER 'cactiuser'@'localhost' IDENTIFIED BY 'cacti_password';
GRANT ALL PRIVILEGES ON cacti.* TO 'cactiuser'@'localhost';

3. Además, debes conceder el privilegio‘SELECT‘ sobre la tabla‘time_zone_name‘ (que está disponible en la base de datos‘mysql‘) al usuariocactiuser’.

GRANT SELECT ON mysql.time_zone_name TO 'cactiuser'@'localhost';

Ahora vuelve a cargar todos los privilegios de las tablas y escribe‘exit‘.

FLUSH PRIVILEGES;
exit

Ahora ya están instalados todos los requisitos para el cacti, y estás listo para instalar la herramienta de monitorización Cacti.

Crear base de datos para cactus

Instalar y configurar Cacti

Por defecto, el repositorio EPEL proporciona paquetes cacti y está listo para instalar. La versión de cacti en el repositorio de EPEL es la 1.2.17, y la versión actual en el sitio web oficial de cacti es la 1.2.19.

En este paso, instalarás y configurarás cacti en el sistema Linux Rocky.

1. Ejecuta el siguiente comando DNF para instalar cacti en tu sistema.

sudo dnf install cacti

Escribe‘y‘ para confirmar y pulsa‘Enter‘.

Instalar Cacti en Rocky Linux

Y todo el código fuente de cacti estará disponible en el directorio ‘/usr/share/cacti/‘.

2. Una vez finalizada la instalación de cacti, importa el esquema de la base de datos a la base de datos ‘cacti‘ utilizando el comando mysql que se indica a continuación.

mysql -u cactiuser -p cacti < /usr/share/doc/cacti/cacti.sql

Escribe la contraseña para ‘cactiuser‘, y para este ejemplo, la contraseña es‘cacti_password‘.

3. A continuación, edita la configuración de cacti‘/usr/share/cacti/cacti.php‘ utilizando el editor nano/vim.

nano /usr/share/cacti/include/config.php

Cambia los detalles de la configuración de la base de datos como se indica a continuación.

$database_type = 'mysql';
$database_default = 'cacti';
$database_hostname = 'localhost';
$database_username = 'cactiuser';
$database_password = 'cacti_password';
$database_port = '3306';

Guarda la configuración y sal.

4. Por defecto, la instalación de cacti sólo es accesible desde el host local. Para permitir el acceso desde la red exterior, edita la configuración httpd de cacti.

Edita la configuración‘/etc/httpd/conf.d/cacti.conf‘ utilizando el editor nano/vim.

nano /etc/httpd/conf.d/cacti.conf

Cambia la opción‘Requerir host localhost’ por‘Requerir todos los concedidos‘ como se indica a continuación.

Require all granted

Guarda la configuración y sal.

Ahora reinicia el servicio httpd para aplicar la nueva configuración.

sudo systemctl restart httpd

5. A continuación, edita la configuración cron‘/etc/cron.d/cacti‘ para habilitar el poller cacti.

nano /etc/cron.d/cacti

Descomenta la línea como se indica a continuación.

*/5 * * * *     apache  /usr/bin/php /usr/share/cacti/poller.php > /dev/null 2>&1

Guarda la configuración y sal.

6. Si tienes el firewalld ejecutándose en tu servidor, añade los servicios HTTP y HTTPS al firewalld utilizando el siguiente comando.

firewall-cmd add-service=http --permanent
firewall-cmd --reload

Ahora ya has completado la configuración básica de cacti. Ve al siguiente paso para iniciar y completar el asistente de instalación de Cacti.

Asistente de instalación de Cacti

Abre tu navegador web y escribe la dirección IP del servidor con la ruta ‘/cacti’ para acceder a la página de configuración/asistente de instalación.

http://192.168.1.10/cacti/

1. Al principio, se te redirigirá a la página de inicio de sesión de la instalación, como se indica a continuación.

Contraseña de inicio de sesión de Cacti

Inicia sesión con el usuario predeterminado«admin» y la contraseña«admin«, y luego pulsa el botón«Iniciar sesión«.

2. Cambia la contraseña por defecto ‘admin‘ por la contraseña segura y repítelo, después pulsa el botón ‘Guardar‘.

Cambiar contraseña admin por defecto Cacti

3. Para el acuerdo de licencia, cacti ha utilizado la Licencia GPL.

Acuerdo de licencia Cacti

Marca como check la opción ‘Aceptar Acuerdo de Licencia GPL’ y pulsa el botón ‘Comenzar‘ para iniciar la instalación.

4. Ahora el asistente de instalación de cacti comprobará todos los requisitos para la instalación de cacti. Asegúrate de que el estado de todas las comprobaciones de resultados es verde, como en la captura de pantalla siguiente.

Comprobaciones del sistema Cacti

Pulsa el botón «Siguiente» para continuar.

5. Selecciona la opción ‘Nuevo servidor primario’ para el tipo de instalación de cacti, porque éste es el primer servidor cacti. A continuación, vuelve a hacer clic en «Siguiente«.

Tipo de instalación de cactus

6. Aparecerán las comprobaciones de permisos de directorio para Cacti. Asegúrate de que el estado de todas las comprobaciones de permisos es verde, como en la captura de pantalla siguiente.

Comprobaciones de permisos de cactus

Vuelve a hacer clic en «Siguiente«.

7. Ahora, configurarás la ruta de las aplicaciones binarias utilizadas por Cacti.

Puedes dejarla por defecto y pulsar el botón «Siguiente«.

configuración de la ruta binaria crítica para cacti

8. Ahora lee toda la información sobre la«protección de la lista blanca de validación de entrada«. Esto es importante, sobre todo por motivos de seguridad.

El script de Cacti‘input_whitelist.php‘ te permite gestionar los métodos de introducción de datos en Cacti. Puedes prohibir o desprohibir los métodos de entrada de datos de la lista blanca, según tus preferencias personales de seguridad.

Asegúrate de marcar la opción«He leído esta declaración» y vuelve a hacer clic en«Siguiente».

Validación de la lista blanca de entrada de Cacti

9. Para la configuración del perfil, déjalo por defecto y pulsa el botón ‘Siguiente‘ para continuar.

Perfil por defecto de configuración de Cacti

10. Puedes seleccionar plantillas en función de tu máquina host/cliente para la configuración de plantillas. O puedes dejarlo por defecto y volver a pulsar ‘Siguiente‘.

Configuración de la plantilla Cacti

11. Ahora los asistentes de instalación comprobarán la localización para tu base de datos y el sistema actual.

Asegúrate de que no hay mensajes de error y pulsa el botón ‘Siguiente‘.

localización de sistemas y bases de datos

12. Ahora la opción‘Confirmar instalación‘ y pulsa el botón ‘Instalar’ para iniciar la instalación de cacti.

Los cactus confirman la instalación

13. El proceso de instalación funciona como se indica a continuación.

Proceso de instalación de los cactus

14. Cuando finalice la instalación de cacti, verás los siguientes mensajes como en la captura de pantalla de abajo.

Finaliza la instalación de los cactus

Haz clic en el botón ‘Empezar‘.

15. Y serás redirigido al panel de administración predeterminado de Cacti como se muestra a continuación.

Panel de control del administrador de Cacti

16. Ahora, espera unos 19-20 minutos a que el servicio cacti recopile datos sobre tu sistema.

Cuando esté listo, haz clic en el menú«Gráfico«, y verás el estado actual de tu servidor Rocky Linux cacti.

A continuación se muestra un ejemplo de gráfico de un servidor Cacti del entorno actual.

Servidor de monitorización de gráficos Cacti

Si puedes ver el gráfico de tu sistema Rocky Linux actual, tu instalación de cacti se ha realizado correctamente.

Conclusión

¡Enhorabuena! Has instalado la herramienta de monitorización Cacti en el sistema Rocky Linux.

Para el siguiente paso, tienes que configurar «spine», un Colector de Datos multihilo para cacti, y luego añadir a tu servidor cacti nuevos hosts/máquinas/dispositivos que monitorizar.

Scroll al inicio