Sigo buscando un software de monitoreo que me brinde alguna solución que mejore mi trabajo, por ello es que trato de probar cuanto software veo o escucho por la red.
Hoy, instalaremos en mi Laboratorio una versión de Cacti.
Cacti es un software de monitoreo y reporte de fallas con una capacidad de manejar datos en entornos gráficos complejos, posee varios métodos de adquisición de Datos y su interfaz web es amigable y robusta.
Para instalar Cacti necesitamos un LAMP y Ubuntu, u otra distribución de Linux o Unix, (En mi caso particular disfruto trabajar con Ubuntu por su sencillez)
En mi Caso, tengo en mi Laboratorio un Proxmox, con el que hago las pruebas y ya tengo lista un VM con Ubuntu.
Como es costumbre empezaremos por entrar como super usuario.
sudo su
Acto seguido por costumbre, actualizaremos el sistema
apt-get update -y
El -y hará que no tengamos que presionar el Y de Yes cuando salga el prompt.
Seguimos con la instalación de Apache2
apt install apache2 -y
Iniciamos y activamos apache en nuestro sistema
systemctl start apache2
systemctl enable apache2
Otros comandos que permite systemctl son stop, restart, status. Por ejemplo:
systemctl status apache2
De esto salimos con Ctrl + C, y volvemos a la línea de comandos.
Mucha de la informacion de configuracion y de los dispositivos que monitoreamos se almacena en una base de datos, como es de costumbre. Instalaremos el servidor y el cliente.
apt install madiadb-server mariadb-client -y
Luego de Instalar el servidor, debemos hacer algunas adiciones al archivo de configuración, por lo que lo abriremos con nano:
nano /etc/mysql/mariadb.conf.d/50-server.cnf
Y agregaremos las siguientes líneas debajo de la sección [mysql]
Y nos quedara algo asi
Hacemos Ctrl + X y Ponemos Y + Enter
Y recargamos el servicio de MariaDB
systemctl restart mariadb
Como ya es costumbre, el manejo de este tipo de software se realiza vía web, tanto para la consulta de datos como para la manipulación de las configuraciones.
Y para ello lo que más se usa es php. De la documentación pude extraer que extensiones iba a necesitar
apt install libapache2-mod-php php-mysql php-xml php-gd php-snmp php-json php-intl php-mbstring php-ldap php-gmp -y
Ahora, nos toca hacer varios ajustes en el archivo de configuración de apache.
nano /etc/php/7.4/apache2/php.ini
Los cambios que vamos a realizar son 3:
date.timezone = "Tu zona horaria Continente/Ciudad"
memory_limit = 512M
max_execution_time = 60
Si ponemos Ctrl + W podremos buscar dentro del documento las líneas que deseamos encontrar, nos aparecerá una linea gris abajo, como esta:
Buscamos, hacemos los respectivos cambios, salvamos con Ctrl + X y Y+Enter y listo.
Ya estamos en los últimos pasos, ambas herramientas sirven para recopilar información y ver información dentro de equipos.
apt install rrdtool snmp snmpd snmp-mibs-downloader libsnmp-dev
Ahora ya te toca poner Y, para que no te duermas con el copy/paste (jeje)
Te recomiendo tener mucho cuidado en este paso, en la creación de base de datos siempre hay que ser paciente, sea el software que sea. Y seguir los pasos con exactitud. Ya me ha pasado muchas veces que se ha fastidiado una instalación larguísima por andar de apurado.
Vamos a ingresar como root a mysql
mysql -u root -p
Nos preguntará por un password, solo damos enter
Creamos la base datos
CREATE DATABASE cacti DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
GRANT ALL PRIVILEGES ON cacti.* TO 'cacti_user'@'localhost' IDENTIFIED BY 'strongpassword';
GRANT SELECT ON mysql.time_zone_name TO cacti_user@localhost;
ALTER DATABASE cacti CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
FLUSH PRIVILEGES;
EXIT;
Para descargar Cacti lo bajaremos desde su website, la última versión
wget https://www.cacti.net/downloads/cacti-latest.tar.gz
En este momento, la ultima versión es la 1.2.20, cosa que deben tener en cuenta. Ya veremos por que.
Vamos a crear un directorio en el Public de Apache
mkdir /var/www/html/cacti
Extraemos el archivo descargado en ese directorio
tar xzf cacti-latest.tar.gz -C /var/www/html/
Vemos que la carpeta que ha creado tiene otro nombre, asi que lo que hago es copiar y ponerle el nombre
cp -r cacti-1.2.20/ cacti/
Borro la carpeta cacti-1.2.20
rm -r cacti-1.2.20/
Cambiamos los permisos del directorio dándole propiedad a www-data, ya que es data para la web:
chown -R www-data: /var/www/html/cacti/
Ahora nos toca importar la base de datos a la base de datos que creamos
mysql -u root -p cacti < /var/www/html/cacti/cacti.sql
Esto demora un poco, luego volvemos a Mysql
mysql -u root -p
Le damos permiso al usuario de Cacti para que acceda a la zona horaria
GRANT SELECT on mysql.time_zone_name to cacti_user@localhost;
FLUSH PRIVILEGES;
EXIT;
Para ello, editaremos el php de configuración de Cacti
nano /var/www/html/cacti/include/config.php
De ir todo bien, deberíamos ver esto
Y procedemos a bajar para cambiar los parametros
$database_type = 'mysql';
$database_default = 'cacti';
$database_hostname = 'localhost';
$database_username = 'cacti_user';
$database_password = 'strongpassword';
Guardamos y salimos
Creamos un nuevo Host Virtual para la web de Cacti
nano /etc/apache2/sites-available/cacti.conf
Alias /cacti /var/www/html/cacti
<Directory /var/www/html/cacti/>
<IfModule mod_authz_core.c>
Require all granted
</IfModule>
</Directory>
Agregamos esas lineas al archivo vacío, guardamos y salimos. Reiniciamos Apache
systemctl restart apache2
Ya tendremos instalado el CActi, ahora solo deberemos configurar parámetros desde la interfaz web. Eso lo haremos en la parte 2.