Cómo instalar la herramienta de monitorización de red Cacti en Debian 11

Cacti es una herramienta de monitorización de red de código abierto basada en web y escrita en PHP. Cacti es el front-end de RRDtool, el estándar de la industria. Cacti genera gráficos de carga de la CPU y de utilización del ancho de banda de la red mediante SNMP (Protocolo Simple de Gestión de Red). Está especialmente diseñado para supervisar dispositivos de red como conmutadores, enrutadores y servidores. Cacti almacena todos los datos necesarios en la base de datos MySQL para generar diversos gráficos.

Esta guía te mostrará cómo instalar las herramientas de monitorización Cacti en Debian 11.

Requisitos previos

  • Un servidor que ejecute Debian 11.
  • Se ha configurado una contraseña de root en el servidor.

Cómo empezar

Antes de empezar, siempre es una buena idea actualizar tu sistema base a la última versión. Ejecuta el siguiente comando para actualizar todos los paquetes:

sudo apt update
sudo apt upgrade

Tras la actualización de los paquetes, puedes pasar al siguiente paso de la instalación.

Instalar dependencias

Cacti utiliza SNMP, por lo que necesitas instalar las dependencias necesarias ejecutando el siguiente comando:

sudo apt install snmp snmpd php-snmp rrdtool librrds-perl unzip curl git gnupg2

Instalar servidor LAMP

Necesitas instalar Apache, PHP y MySQL/MariaDB en tu servidor.

Instalar el servidor web Apache

Puedes instalar el servidor web Apache mediante el siguiente comando:

sudo apt install apache2 -y

A continuación, inicia el servicio Apache y habilítalo para que se inicie al arrancar ejecutando el siguiente comando:

sudo systemctl start apache2
sudo systemctl enable apache2

Instalar PHP

Necesitas instalar PHP y otras extensiones PHP necesarias:

apt install php php-mysql libapache2-mod-php php-xml php-ldap php-mbstring php-gd php-gmp -y

A continuación, realiza algunas modificaciones en el archivo php.ini:

vim /etc/php/*/apache2/php.ini

Ahora, realiza los cambios que se muestran a continuación:

memory_limit = 512M
max_execution_time = 60
date.timezone = Asia/Kolkata

Ahora, guarda y cierra el archivo y, a continuación, edita php.ini para CLI:

vim /etc/php/*/cli/php.ini

A continuación, realiza los siguientes cambios:

memory_limit = 512M
max_execution_time = 60
date.timezone = Asia/Kolkata

Guarda y cierra el archivo y reinicia el servicio Apache para aplicar los cambios:

systemctl restart apache2

Instalar y configurar el servidor de base de datos para Cacti

MySQL/MariaDB es el backend para Cacti. Puedes instalar MariaDB ejecutando el siguiente comando:

sudo apt install mariadb-server

A continuación, inicia el servicio MariaDB, habilita el servicio al iniciar el sistema y comprueba el estado del servicio MariaDB mediante el siguiente comando:

sudo systemctl start mariadb
sudo systemctl enable mariadb
sudo systemctl status mariadb

A continuación, inicia sesión en el intérprete de comandos de MariaDB ejecutando el siguiente comando:

mysql

Tras iniciar sesión, crea una base de datos y un usuario para Cacti ejecutando el siguiente comando:

CREATE DATABASE cactidb DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
GRANT ALL PRIVILEGES ON cactidb.* TO 'cacti_user'@'localhost' IDENTIFIED BY 'password';
ALTER DATABASE cactidb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

A continuación, vacía los privilegios para aplicar los cambios y sal del intérprete de comandos MariaDB ejecutando el siguiente comando:

flush privileges;
exit;

Ahora, tienes que importar los datos de la zona horaria a la base de datos MariaDB. Ejecuta el siguiente comando para importar la zona horaria:

mysql mysql < /usr/share/mysql/mysql_test_data_timezone.sql

importar base de datos mysql cacti

Ahora, inicia sesión en el intérprete de comandos MariaDB y concede los privilegios necesarios en la zona horaria MySQL ejecutando el siguiente comando:

mysql
GRANT SELECT ON mysql.time_zone_name TO cacti_user@localhost;

A continuación, elimina los privilegios y sal del intérprete de comandos MariaDB:

flush privileges;
exit;

Conceder privilegios al usuario MySQL

A continuación, edita el archivo de configuración por defecto de MariaDB:

vim /etc/mysql/mariadb.conf.d/50-server.cnf

Primero, comenta las dos líneas siguientes añadiendo #tag

#collation-server      = utf8mb4_general_ci
#character-set-server  = utf8mb4

A continuación, añade / modifica las siguientes líneas debajo de la sección [mariadb]:

collation-server = utf8mb4_unicode_ci
character-set-server=utf8mb4
max_heap_table_size = 128M
tmp_table_size = 128M
join_buffer_size = 128M
innodb_file_format = Barracuda
innodb_large_prefix = 1
innodb_buffer_pool_size = 1G
innodb_flush_log_at_timeout = 3
innodb_read_io_threads = 32
innodb_write_io_threads = 16
innodb_io_capacity = 5000
innodb_io_capacity_max = 10000
innodb_doublewrite = 0

Ahora, guarda y sal del archivo y reinicia el servicio MariaDB para aplicar los cambios:

systemctl restart mariadb

Tras reiniciar el servicio, puedes pasar al siguiente paso.

Instalar y configurar Cacti

Ahora, descarga la última versión de Cacti desde el sitio web oficial de Cacti utilizando el comando wget:

wget https://www.cacti.net/downloads/cacti-latest.tar.gz

A continuación, extrae el archivo tar.gz ejecutando el siguiente comando:

tar -zxvf cacti-latest.tar.gz

Ahora, mueve el directorio extraído a la ruta raíz de Apache ejecutando el siguiente comando:

mv cacti-1* /var/www/html/cacti

A continuación, importa la base de datos a la base de datos de cacti ‘cactidb’ utilizando el siguiente comando:

mysql cactidb < /var/www/html/cacti/cacti.sql

Ahora edita el archivo config.php e introduce los datos de tu base de datos Cacti.

cd /var/www/html/cacti/include/
vim config.php

A continuación, realiza cambios en las siguientes líneas:

$database_type     = 'mysql';
$database_default  = 'cactidb';
$database_hostname = 'localhost';
$database_username = 'cacti_user';
$database_password = 'password';
$database_port     = '3306';

Ahora, establece los permisos necesarios para el directorio cacti utilizando el siguiente comando:

chown -R www-data:www-data /var/www/html/cacti/
chmod -R 775 /var/www/html/cacti/

Ahora, establece la frecuencia de recogida de datos utilizando el cronjob para Cacti con el siguiente comando:

vim /etc/cron.d/cacti

Añade la siguiente línea para establecer que Cacti Pollor ejecute poller.php cada cinco minutos.

*/5 * * * * www-data php /var/www/html/cacti/poller.php > /dev/null 2>&1

Guarda el archivo y sal de él.

Configurar el host virtual Apache para Cacti

A continuación, tienes que crear un archivo de configuración de host virtual Apache independiente para Cacti. Puedes crearlo utilizando el siguiente comando:

vim /etc/apache2/sites-available/cacti.conf

A continuación, añade las siguientes líneas:

Alias /cacti /var/www/html/cacti
<Directory /var/www/html/cacti>
Options +FollowSymLinks
AllowOverride None
<IfVersion >= 2.3>
Require all granted
</IfVersion>
<IfVersion < 2.3>
Order Allow,Deny
Allow from all
</IfVersion>

AddType application/x-httpd-php .php

<IfModule mod_php.c>
php_flag magic_quotes_gpc Off
php_flag short_open_tag On
php_flag register_globals Off
php_flag register_argc_argv On
php_flag track_vars On
# this setting is necessary for some locales
php_value mbstring.func_overload 0
php_value include_path .
</IfModule>

DirectoryIndex index.php
</Directory>

A continuación, tienes que habilitar este archivo de host virtual. Ejecuta el siguiente comando para habilitarlo.

a2ensite cacti

Verifica el archivo cacti.conf ejecutando el siguiente comando:

ls -l /etc/apache2/sites-enabled/cacti.conf

A continuación, tienes que reiniciar el servicio Apache para aplicar los cambios:

systemctl restart apache2

Tras reiniciar el servicio Apache, ejecuta el siguiente comando para comprobar el estado del servicio Apache:

systemctl status apache2

Salida:

? apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
     Active: active (running) since Wed 2022-06-29 07:22:07 UTC; 3s ago
       Docs: https://httpd.apache.org/docs/2.4/
    Process: 63096 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
   Main PID: 63100 (apache2)
      Tasks: 6 (limit: 1132)
     Memory: 13.6M
        CPU: 100ms
     CGroup: /system.slice/apache2.service
             ??63100 /usr/sbin/apache2 -k start
             ??63101 /usr/sbin/apache2 -k start
             ??63102 /usr/sbin/apache2 -k start
             ??63103 /usr/sbin/apache2 -k start
             ??63104 /usr/sbin/apache2 -k start
             ??63105 /usr/sbin/apache2 -k start

Jun 29 07:22:07 debian-11 systemd[1]: Starting The Apache HTTP Server…

En este punto, tu Cacti está instalado y configurado, y puedes proceder al siguiente paso para acceder a Cacti desde un navegador web.

Interfaz Web de Cacti

Ahora, abre tu navegador web e introduce la siguiente URL con tu dirección IP:

http://your-server-ip/cacti

Deberías ver la página de inicio de sesión de Cacti.

Acceso a cactus

Introduce el nombre de usuario y la contraseña por defecto como admin y haz clic en el botón Iniciar sesión. Se te redirigirá a la pantalla de restablecimiento de contraseña como se muestra a continuación:

Establecer contraseña cacti

Tras cambiar la contraseña por defecto, pulsa el botón Guardar. Deberías ver la pantalla del Acuerdo de Licencia:

aceptar el acuerdo de licencia de cacti

Selecciona la casilla Aceptar el Acuerdo de Licencia GPL y pulsa el botón Comenzar. Deberías ver la Comprobación Previa a la Instalación y otra información de advertencia en la siguiente pantalla:

Comprobaciones previas a la instalación

Haz clic en el botón Siguiente. Deberías ver la siguiente pantalla Tipo de instalación:

Tipo de instalación

Aquí puedes seleccionar el tipo de instalación que deseas y, a continuación, hacer clic en el botón Siguiente. A continuación, deberías ver la pantalla Comprobación de permisos de directorio:

Comprobaciones de permisos de directorio

Haz clic en el botón Siguiente. Te mostrará la pantalla Ubicaciones y versiones binarias críticas como se indica a continuación:

Ubicaciones y versiones binarias

Haz clic en el botón Siguiente. Deberías ver la pantalla de Protección de la Lista Blanca de Validación de Entradas:

Validación de entradas

Selecciona la casilla «He leído esta declaración» y Pulsa el botón Siguiente. Deberías ser redirigido a la pantalla Perfil Predeterminado:

red y perfil

Introduce la información según tus necesidades y pulsa el botón Siguiente. A continuación deberías ver la pantalla de Configuración de Plantilla:

Configuración de la plantilla

Haz clic en el botón Siguiente, y deberías ver la configuración relacionada con UTF-8 en la siguiente pantalla:

Asignación de servidores

Haz clic en el botón Siguiente. Deberías ver la pantalla Confirmar instalación:

Confirma la instalación

Selecciona la casilla «Confirmar instalación» y luego pulsa el botón Instalar. Deberías ver el registro de instalación en la siguiente pantalla:

Instalación de cactus finalizada

Una vez finalizada la instalación, haz clic en el botón Comenzar. Deberías ver la pantalla Cacti Dashboard:

Tablero de cactus

Conclusión

Con este artículo, has instalado y configurado correctamente la herramienta de monitorización Cacti en Debian 11. Ahora puedes añadir dispositivos de red, supervisar el ancho de banda de tu red, generar diversos gráficos de supervisión de la red y muchas cosas más. Puedes acceder fácilmente a Cacti desde un navegador web. No dudes en preguntarme si tienes alguna duda.

También te podría gustar...