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.
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
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‘.
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
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.
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 usuario‘cactiuser’.
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.
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‘.
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.
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‘.
3. Para el acuerdo de licencia, cacti ha utilizado la Licencia GPL.
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.
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«.
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.
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«.
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».
9. Para la configuración del perfil, déjalo por defecto y pulsa el botón ‘Siguiente‘ para continuar.
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‘.
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‘.
12. Ahora la opción‘Confirmar instalación‘ y pulsa el botón ‘Instalar’ para iniciar la instalación de cacti.
13. El proceso de instalación funciona como se indica a continuación.
14. Cuando finalice la instalación de cacti, verás los siguientes mensajes como en la captura de pantalla de abajo.
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.
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.
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.