Download CV

Como instalar CACTI en Ubuntu 20.04 – Parte 1

abril 28, 2022

Introduccion

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.

Que es 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.

Website de Cacti

Instalando Cacti

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.

Ubuntu Listo

Instalando Apache

Como es costumbre empezaremos por entrar como super usuario.

sudo su
SUDO Plis

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.

Update

Seguimos con la instalación de Apache2

apt install apache2 -y
Instalando Apache

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.

Instalando MariaDB

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
MariaDb instalación

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]

Nano editando el archivo de configuración de MariaDB

Y nos quedara algo asi

Líneas agregadas

Hacemos Ctrl + X y Ponemos Y + Enter

Y recargamos el servicio de MariaDB

systemctl restart mariadb
Esto demora unos 10 segundos

Instalamos PHP y las extensiones que vamos a necesitar.

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
Deberíamos tener algo como esto.

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.

Instalamos SNMP y RRDTool

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)

Instalación de Herramientas

Creamos la Base de Datos de Cacti(OJO)

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;
Base de datos creada

Descargamos y configuramos Cacti

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

Borrando la carpeta
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;

Configuramos los detalles de la conexión de la Base datos

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

Config de Cacti

Y procedemos a bajar para cambiar los parametros

Cambiamos parametros
$database_type     = 'mysql';
$database_default  = 'cacti';
$database_hostname = 'localhost';
$database_username = 'cacti_user';
$database_password = 'strongpassword';

Guardamos y salimos

Creamos una configuración para Cacti en Apache

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

Entrando al Servidor

Ya tendremos instalado el CActi, ahora solo deberemos configurar parámetros desde la interfaz web. Eso lo haremos en la parte 2.

About Post Author

Posted in Monitoreo, Redes
8 Comments
  • Israel

    Hola Daniel,

    ¿has creado la parte 2?

    8:03 am agosto 26, 2022 Responder
    • Daniel Benites

      Hola Israel! Si, lo subire en estos dias

      9:14 pm septiembre 24, 2022 Responder
      • Danilo Gnz

        Hola Daniel cuando subes la segunda parte, me esta sirviendo mucho, espero con ansias la segunda parte

        11:14 am noviembre 9, 2022 Responder
  • Luis Andres

    Buenas tardes estimado..
    Muy buena su explicación.. pero yo tuve problemas..
    Me quede la linea de comando «nano /etc/php/7.4/apache2/php.ini», donde me indica que el directorio NO EXISTE.
    ¿Como se debe proceder al respecto?

    8:17 pm septiembre 1, 2022 Responder
    • Daniel Benites

      Hola Luis Andres, disculpame por la tardanza, el problema que tienes se debe a la version de php que tengas instalada, esa deberia ser tu carpeta donde esta el config del apache

      9:14 pm septiembre 24, 2022 Responder
  • Jorge

    NO existe el archivo config.php
    /var/www/html/cacti/include/config.php

    Solo esta el arcchivo config.php.dist
    cacti/include/config.php.dist

    Que hice mal?

    3:40 pm marzo 7, 2023 Responder
    • Daniel Benites

      revisalo con nano y si es igual, cambiale nombre

      12:15 pm abril 5, 2023 Responder
    • Daniel Benites

      fijate si el archivo es igual al mio, si lo es cambiale el nombre no mas

      12:17 pm abril 5, 2023 Responder
Write a comment