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:
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:
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 y pulsa el botón Comenzar. Deberías ver la pantalla de comprobación previa a la instalación:
Pulsa el botón Siguiente. Deberías ver la pantalla 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:
Haz clic en el botón Siguiente. Deberías ver la pantalla de comprobación de Ubicaciones y Versiones Binarias:
Pulsa el botón Siguiente. Deberías ver la siguiente pantalla:
Marca la casilla «He leído esta declaración» y pulsa el botón Siguiente. Deberías ver la siguiente pantalla:
Selecciona las opciones que desees y pulsa el botón Siguiente. Deberías ver la pantalla de configuración de la plantilla:
Haz clic en el botón Siguiente. Debes ver la siguiente pantalla:
Pulsa el botón Siguiente. Deberías ver la pantalla Confirmar 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:
Haz clic en el botón Comenzar. Deberías ver el panel de control de Cacti en la siguiente pantalla:
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.