Cómo instalar la herramienta de monitorización Cacti en Ubuntu 22.04

Cacti es una herramienta de monitorización y creación de gráficos de red de código abierto escrita en PHP. Está basada en web y utiliza la base de datos MySQL para almacenar toda la información necesaria para crear gráficos y rellenarlos. Tiene la capacidad de sondear dispositivos de red, así como de rastrear el uso del ancho de banda y hacer gráficos muy agradables. Utiliza el protocolo SNMP para recopilar información sobre dispositivos remotos, incluidos conmutadores y routers. Con Cacti, puedes controlar la utilización del ancho de banda y el tráfico de red a través de un navegador web.

En este tutorial, te mostraremos cómo instalar la herramienta de monitorización Cacti en un servidor Ubuntu 22.04.

Requisitos previos

  • Un servidor que ejecute Ubuntu 22.04.
  • Una contraseña de root configurada en el servidor.

Instalar las dependencias necesarias

En primer lugar, tendrás que actualizar el índice del paquete APT a la última versión. Puedes actualizarlo con el siguiente comando:

apt-get update -y

Tras actualizar el índice de paquetes de APT, instala otras dependencias necesarias ejecutando el siguiente comando:

apt-get install snmp php-snmp rrdtool librrds-perl unzip curl git gnupg2 -y

Después de instalar todas las dependencias, puedes proceder a instalar el servidor LAMP.

Instalar el servidor LAMP

A continuación, tendrás que instalar el servidor web Apache, MariaDB, PHP y otras extensiones PHP necesarias en tu servidor. Puedes instalarlos todos ejecutando el siguiente comando:

apt-get install apache2 mariadb-server php php-mysql libapache2-mod-php php-xml php-ldap php-mbstring php-gd php-gmp -y

Una vez instalados todos los paquetes, edita el archivo de configuración de PHP y modifica la configuración por defecto:

nano /etc/php/8.1/apache2/php.ini

Cambia las siguientes líneas:

memory_limit = 512M
max_execution_time = 60
date.timezone = UTC

Guarda y cierra el archivo, luego edita otro archivo de configuración PHP y modifica los ajustes por defecto:

nano /etc/php/8.1/cli/php.ini

Cambia las siguientes líneas:

memory_limit = 512M
max_execution_time = 60
date.timezone = UTC

Guarda y cierra el archivo cuando hayas terminado. A continuación, reinicia el servicio Apache para aplicar los cambios:

systemctl restart apache2

Cuando hayas terminado, puedes pasar al siguiente paso.

Crear una base de datos

Cacti utiliza MariaDB como base de datos. Así que tendrás que crear una base de datos y un usuario para Cacti.

Primero, edita el archivo de configuración por defecto de MariaDB y modifica algunos ajustes por defecto:

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

Añade / Modifica las siguientes líneas dentro de la sección [mysqld]:

collation-server = utf8mb4_unicode_ci
max_heap_table_size = 128M
tmp_table_size = 64M
join_buffer_size = 64M
innodb_file_format = Barracuda
innodb_large_prefix = 1
innodb_buffer_pool_size = 512M
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 = OFF

Guarda y cierra el archivo, luego reinicia el servicio MariaDB para aplicar los cambios:

systemctl restart mariadb

A continuación, inicia sesión en el shell de MariaDB con el siguiente comando:

mysql

Una vez iniciada la sesión, crea una base de datos y un usuario para Cacti con el siguiente comando:

MariaDB [(none)]> create database cactidb;
MariaDB [(none)]> GRANT ALL ON cactidb.* TO cactiuser@localhost IDENTIFIED BY 'password';

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

MariaDB [(none)]> flush privileges;
MariaDB [(none)]> exit;

A continuación, tendrás que importar los datos de la zona horaria a la base de datos MySQL. Puedes importarlos con el siguiente comando:

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

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

mysql
MariaDB [(none)]> GRANT SELECT ON mysql.time_zone_name TO cactiuser@localhost;

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

MariaDB [(none)]> flush privileges;
MariaDB [(none)]> exit;

Cuando hayas terminado, puedes pasar al siguiente paso.

Instalar y configurar Cacti

Descarga la última versión de Cacti desde su sitio web oficial utilizando el siguiente comando:

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

Una vez finalizada la descarga, extrae el archivo descargado con el siguiente comando:

tar -zxvf cacti-latest.tar.gz

A continuación, mueve el directorio extraído al directorio raíz de Apache con 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 con el siguiente comando:

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

A continuación, edita el archivo Cacti config.php y define la configuración de tu base de datos:

nano /var/www/html/cacti/include/config.php

Cambia las siguientes líneas:

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

Guarda y cierra el archivo, luego crea un archivo de registro para Cacti.

touch /var/www/html/cacti/log/cacti.log

A continuación, establece la propiedad y el permiso del directorio cacti con el siguiente comando:

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

A continuación, crea un nuevo archivo de trabajo cron de Cacti con el siguiente comando:

nano /etc/cron.d/cacti

Añade la siguiente línea:

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

Guarda y cierra el archivo cuando hayas terminado.

Crear un host virtual Apache para Cacti

A continuación, tendrás que crear un archivo de configuración de host virtual Apache para Cacti. Puedes crearlo con el siguiente comando:

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

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>

Guarda y cierra el archivo, luego habilita el archivo de host virtual con el siguiente comando:

a2ensite cacti

A continuación, reinicia el servicio Apache para aplicar los cambios de configuración:

systemctl restart apache2

También puedes verificar el estado del servicio Apache con el siguiente comando:

systemctl status apache2

Deberías obtener la siguiente salida:

? apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor prese>
     Active: active (running) since Sun 2022-07-24 03:58:11 UTC; 7s ago
       Docs: https://httpd.apache.org/docs/2.4/
    Process: 12847 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/S>
   Main PID: 12851 (apache2)
      Tasks: 6 (limit: 2242)
     Memory: 13.7M
        CPU: 103ms
     CGroup: /system.slice/apache2.service
             ??12851 /usr/sbin/apache2 -k start
             ??12852 /usr/sbin/apache2 -k start
             ??12853 /usr/sbin/apache2 -k start
             ??12854 /usr/sbin/apache2 -k start
             ??12855 /usr/sbin/apache2 -k start
             ??12856 /usr/sbin/apache2 -k start

Jul 24 03:58:11 ubuntu systemd[1]: Starting The Apache HTTP Server...

Cuando hayas terminado, puedes pasar al siguiente paso.

Iniciar el Asistente de Instalación Web de Cacti

Ahora, abre tu navegador web y accede a la instalación de Cacti utilizando la URL http://your-server-ip/cacti. Se te redirigirá a la página de inicio de sesión de Cacti:

Inicio de sesión en Cacti

Introduce el nombre de usuario y la contraseña por defecto como admin y haz clic en el botón Iniciar sesión. Deberías ver la pantalla de restablecimiento de contraseña:

Establecer una nueva contraseña de administrador

Cambia tu contraseña por defecto y pulsa el botón Guardar. Deberías ver la página del acuerdo de Licencia:

Acepta el acuerdo de licencia

Acepta el acuerdo y pulsa el botón Comenzar. Deberías ver la pantalla de comprobación previa a la instalación:

comprobaciones previas a la instalación

Pulsa el botón Siguiente. Deberías ver la pantalla Tipo de instalación:

Tipo de instalación

Selecciona el tipo de instalación que desees y pulsa el botón Siguiente. Deberías ver la pantalla de comprobación de Permisos de Directorio:

Permisos de directorio

Haz clic en el botón Siguiente. Deberías ver la pantalla de comprobación de Ubicaciones y Versiones Binarias:

Ubicaciones binarias

Pulsa el botón Siguiente. Deberías ver la siguiente pantalla:

Protección de la lista blanca

Marca la casilla «He leído esta declaración» y pulsa el botón Siguiente. Deberías ver la siguiente pantalla:

Modo Escanear

Selecciona las opciones que desees y pulsa el botón Siguiente. Deberías ver la pantalla de configuración de la plantilla:

Configuración de la plantilla

Haz clic en el botón Siguiente. Debes ver la siguiente pantalla:

Asistente de instalación

Pulsa el botón Siguiente. Deberías ver la pantalla Confirmar instalación:

Confirma la instalación

Marca la casilla «Confirmar instalación» y pulsa el botón Instalar. Una vez completada la instalación, deberías ver la siguiente pantalla:

instalación de cactus completa

Haz clic en el botón Comenzar. Deberías ver el panel de control de Cacti en la siguiente pantalla:

Tablero de cactus

Conclusión

En este post, hemos explicado cómo instalar y configurar la herramienta de monitorización Cacti en el servidor Ubuntu 22.04. Ahora puedes añadir dispositivos de red desde el panel de control de Cacti y empezar a monitorizarlos desde el navegador web. No dudes en preguntarme si tienes alguna duda.

También te podría gustar...