Cómo instalar la herramienta de monitorización de red Cacti en Ubuntu 20.04
Cacti es una herramienta de monitorización de red gratuita, de código abierto y basada en la web, escrita en PHP. Es una aplicación frontal para la herramienta RRD. Utiliza el protocolo SNMP para monitorizar la utilización del ancho de banda y el tráfico de red de un router o conmutador. Muestra la carga de la CPU y la utilización del ancho de banda de la red en un formato gráfico y los rellena con datos en una base de datos MySQL.
En este tutorial, te mostraremos cómo instalar la herramienta de monitorización Cacti en un servidor Ubuntu 20.04.
Requisitos previos
- Un servidor con Ubuntu 20.04.
- Una contraseña de root configurada el servidor.
Cómo empezar
Antes de empezar, es conveniente actualizar todos los paquetes del sistema a la última versión. Puedes actualizarlos con el siguiente comando:
apt-get update -y
Una vez actualizados todos los paquetes, instala otras dependencias necesarias ejecutando el siguiente comando:
apt-get install snmp php-snmp rrdtool librrds-perl unzip curl git gnupg2 -y
Una vez instaladas todas las dependencias, puedes pasar al siguiente paso.
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
Después de instalar todos los paquetes, edita el archivo php.ini y haz algunos cambios:
nano /etc/php/7.4/apache2/php.ini
Cambia las siguientes líneas:
memory_limit = 512M max_execution_time = 60 date.timezone = Asia/Kolkata
Guarda y cierra el archivo y luego edita otro archivo php.ini y haz algunos cambios:
nano /etc/php/7.4/cli/php.ini
Cambia las siguientes líneas:
memory_limit = 512M max_execution_time = 60 date.timezone = Asia/Kolkata
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.
Configurar el servidor MariaDB
Cacti utiliza MariaDB como base de datos. Así que tendrás que crear una base de datos y un usuario para Cacti.
En primer lugar, edita el archivo de configuración por defecto de MariaDB y modifica algunos ajustes:
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
Guarda y cierra el archivo y 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 shell de 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, entra en el shell de MariaDB y concede los privilegios necesarios en la zona horaria de MySQL con el siguiente comando:
mysql
MariaDB [(none)]> GRANT SELECT ON mysql.time_zone_name TO cactiuser@localhost;
A continuación, vacía los privilegios y sal del shell de MariaDB con el siguiente comando:
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> exit;
Una vez que hayas terminado, puedes pasar al siguiente paso.
Instalar y configurar Cacti
En primer lugar, tendrás que descargar la última versión de Cacti desde su sitio web oficial. Puedes descargarla con el siguiente comando:
wget https://www.cacti.net/downloads/cacti-latest.tar.gz
Una vez completada 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 al cactidb 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 y 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.
En este punto, Cacti está instalado y configurado. Ahora puedes pasar al siguiente paso.
Configurar Apache para Cacti
A continuación, tendrás que crear un archivo de configuración del host virtual de 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 y 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 preset: enabled) Active: active (running) since Wed 2020-12-02 03:11:25 UTC; 9s ago Docs: https://httpd.apache.org/docs/2.4/ Process: 15445 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS) Main PID: 15459 (apache2) Tasks: 6 (limit: 4691) Memory: 13.2M CGroup: /system.slice/apache2.service ??15459 /usr/sbin/apache2 -k start ??15460 /usr/sbin/apache2 -k start ??15461 /usr/sbin/apache2 -k start ??15462 /usr/sbin/apache2 -k start ??15463 /usr/sbin/apache2 -k start ??15464 /usr/sbin/apache2 -k start Dec 02 03:11:25 ubuntu2004 systemd[1]: Starting The Apache HTTP Server...
Una vez que hayas terminado, puedes pasar al siguiente paso.
Accede a la interfaz web de Cacti
Ahora, abre tu navegador web y accede a la interfaz web de Cacti utilizando la URL http://your-server-ip/cacti. Serás redirigido a la página de inicio de sesión de Cacti:
Proporciona el nombre de usuario y la contraseña por defecto como admin y haz clic en el botón de inicio de sesión. Deberías ver la pantalla de restablecimiento de contraseña:
Cambia tu contraseña por defecto y haz clic en el botón Guardar. Deberías ver la página del acuerdo de licencia:
Acepta el acuerdo y haz clic en el botón Comenzar. Deberías ver la pantalla de comprobación de la preinstalación:
Haz clic en el botón Siguiente. Deberías ver la pantalla de Tipo de Instalación:
Selecciona el tipo de instalación que desees y haz clic en 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:
Haz clic en el botón Siguiente. Deberías ver la siguiente pantalla:
Marca la casilla «He leído esta declaración» y haz clic en el botón Siguiente. Deberías ver la siguiente pantalla:
Selecciona las opciones que desees y haz clic en el botón Siguiente. Deberías ver la pantalla de configuración de la plantilla:
Haz clic en el botón Siguiente. Deberías ver la siguiente pantalla:
Haz clic en el botón Siguiente. Deberías ver la pantalla de Confirmación de la instalación:
Marca la opción«Confirmar instalación» y haz clic en 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
Enhorabuena! has instalado y configurado con éxito la herramienta de monitorización Cacti en el servidor Ubuntu 20.04. Ahora puedes añadir dispositivos de red desde el salpicadero de Cacti y empezar a monitorizarlos desde el navegador web. No dudes en preguntarme si tienes alguna duda.