Cómo instalar Cacti en Ubuntu 20.04 LTS

En esta entrada veremos cómo instalar Cacti en Ubuntu 20.04 LTS Focal Fossa paso a paso, de modo que consigas hacer funcionar fácilmente este sistema de monitorización de dispositivos en red sobre tu servidor o VPS Ubuntu.

Este tutorial está disponible para otras versiones de Ubuntu e incluso otros sistemas operativos que puedes encontrar con nuestro buscador.

Antes de instalar Cacti en Ubuntu 20.04 LTS

Si tienes intención de completar los pasos de esta guía de instalación de Cacti en Ubuntu 20.04 LTS será necesario cubrir los siguientes requisitos básicos:

  • Una máquina Ubuntu 20.04 LTS Focal Fossa actualizada.
  • Un entorno o pila LAMP (servicio web con PHP y base de datos).
  • Un usuario con permisos de sudo o el mismo root.
  • Acceso a Internet.

Si aún no tienes preparado el entorno necesario, puedes consultar previamente nuestra guía de instalación de la pila LAMP en Ubuntu 20.04 LTS.

Cómo descargar Cacti para Ubuntu 20.04 LTS

Vamos a descargar Cacti para Ubuntu 20.04 LTS desde la zona de descargas del sitio oficial del proyecto:

como descargar cacti para ubuntu 20.04 lts focal fossa

Encontraremos el paquete con la última versión estable en formatos .tar.gz y .zip. Descargaremos el paquete .tar.gz desde el navegador o desde consola con el comando wget:

~$ wget https://www.cacti.net/downloads/cacti-1.2.23.tar.gz

Cómo instalar Cacti en Ubuntu 20.04 LTS

Para instalar Cacti en Ubuntu 20.04 LTS tendremos que realizar una serie de tareas con las que preparar el sistema antes de poder lanzar el instalador web. Detallamos seguidamente dichas tareas y preparativos.

Archivos de Cacti

Descomprimimos el paquete que acabamos de descargar en la ubicación adecuada a la forma en la que queremos integrar Cacti en el servicio web:

~$ sudo tar xf cacti-1.2.23.tar.gz -C /var/www/

El nombre del subdirectorio que se crea contiene números de versión, así que puede ser buena idea renombrarlo o crear un enlace simbólico sin números para facilitar la configuración y mantenimiento de Cacti:

~$ sudo ln -s /var/www/cacti-1.2.23/ /var/www/cacti

Además Cacti necesita escribir en algunos de los subdirectorios de su ruta de instalación, por lo que daremos la propiedad de los mismos al usuario con el que corre el servicio web en Ubuntu 20.04:

~$ sudo chown -R www-data: /var/www/cacti/{log,resource/snmp_queries,resource/script_server,resource/script_queries,scripts,cache/boost,cache/mibcache,cache/realtime,cache/spikekill,rra}

Herramientas auxiliares

Cacti requiere algunas herramientas como RRDtool que podemos obtener desde los repositorios de Ubuntu 20.04, por lo que actualizaremos las listas de paquetes:

~$ sudo apt update

E instalaremos los paquetes necesarios:

~$ sudo apt install -y snmp rrdtool librrds-perl

Servicio web

Para hacer navegable la aplicación, crearemos un archivo de configuración de Apache para Cacti:

~$ sudo nano /etc/apache2/conf-available/cacti.conf

La configuración será un alias para Cacti, la activación del uso de achivos .htaccess y algunos ajustes de PHP:

Alias /cacti /var/www/cacti

<Directory /var/www/cacti>
        AllowOverride all
        php_value memory_limit "400M"
        php_value max_execution_time "60"
</Directory>

Guardamos los cambios y activamos la configuración:

~$ sudo a2enconf cacti

Finalmente recargamos la configuración del servicio web:

~$ sudo systemctl reload apache2

Base de datos

Cacti es bastante exigente en cuanto a la configuración del servicio de bases de datos. Como ejemplo, realizaremos una serie de ajustes sobre las versiones de MariaDB y MySQL 8 incluidas en los repositorios de Ubuntu 20.04 LTS.

MariaDB

Editamos el archivo de configuración del servidor:

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

En la sección [server] o [mysqld] añadiremos (o sustituiremos) algunas directivas:

...
[server]
...
character-set-server            = utf8mb4
collation_server                = utf8mb4_unicode_ci
join_buffer_size                = 31M
innodb_file_format              = Barracuda
innodb_large_prefix             = 1
innodb_buffer_pool_size         = 1024M
innodb_doublewrite              = OFF
innodb_flush_log_at_timeout     = 3
innodb_read_io_threads          = 32
innodb_write_io_threads         = 16
innodb_buffer_pool_instances    = 9
innodb_io_capacity              = 5000
...

Guardamos los cambios y reiniciamos el servicio:

~$ sudo systemctl restart mariadb

MySQL 8

Editamos el archivo de configuración:

~$ sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

Y en la sección [mysqld] añadimos las siguientes directivas:

...
[mysqld]
...
character_set_server            = utf8mb4
collation_server                = utf8mb4_unicode_ci
join_buffer_size                = 31M
innodb_buffer_pool_size         = 1024M
innodb_flush_log_at_timeout     = 3
innodb_read_io_threads          = 32
innodb_write_io_threads         = 16
innodb_buffer_pool_instances    = 9
innodb_io_capacity              = 5000
...

Guardamos el archivo y reiniciamos el servicio:

~$ sudo systemctl restart mysql

Preparación de las bases de datos

Cacti usa la tabla de zonas horarias del servicio de bases de datos, que normalmente no está cargada, por lo que empezaremos cargándola con la herramienta mysql_tzinfo_to_sql:

~$ mysql_tzinfo_to_sql /usr/share/zoneinfo/ | mysql -u root -p mysql

Es posible que durante el proceso de carga se produzca algún aviso, pero es normal.

Ahora conectamos al servicio con el cliente mysql y un administrador:

~$ mysql -u root -p

Creamos la base de datos para Cacti:

> create database cacti charset utf8mb4 collate utf8mb4_unicode_ci;

Creamos el usuario:

> create user cactiuser@localhost identified by 'XXXXXXXX';

Concedemos los permisos necesarios al usuario sobre la base:

> grant all privileges on cacti.* to cactiuser@localhost;

También concederemos acceso a la tabla de zonas horarias:

> grant select on mysql.time_zone_name to cactiuser@localhost;

Y cerramos la conexión:

> exit

Una vez creada la base de datos, la inicializamos con un archivo SQL que proporciona el paquete de Cacti para Ubuntu 20.04:

~$ mysql -u root -p cacti < /var/www/cacti/cacti.sql

Ahora editaremos el archivo de configuración de Cacti, ya que el instalador web leerá estos datos desde dicho archivo en lugar de solicitarlos durante la instalación:

~$ sudo nano /var/www/cacti/include/config.php

Buscaremos la sección de configuración de la base de datos:

...
/*
 * Make sure these values reflect your actual database/host/user/password
 */

$database_type     = 'mysql';
$database_default  = 'cacti';
$database_hostname = 'localhost';
$database_username = 'cactiuser';
$database_password = 'cactiuser';
$database_port     = '3306';
$database_retries  = 5;
$database_ssl      = false;
$database_ssl_key  = '';
$database_ssl_cert = '';
$database_ssl_ca   = '';
...

Y consignaremos los datos tal como los creamos anteriormente. En este caso sólo sería necesario cambiar la contraseña, ya que usamos los valores por defecto para el nombre de la base de datos y el usuario:

...
$database_default  = 'cacti';
$database_hostname = 'localhost';
$database_username = 'cactiuser';
$database_password = 'XXXXXXXX';
...

Guardamos los cambios y cerramos el archivo.

PHP

Cacti requiere la presencia en Ubuntu 20.04 de ciertas extensiones que podemos instalar desde los repositorios del sistema si usamos la versión de PHP nativa:

~$ sudo apt install -y php-{gd,gmp,intl,ldap,mbstring,snmp,xml}

Si usamos una versión concreta del repositorio alternativo tendremos que indicarla expresamente en el nombre de los paquetes; por ejemplo, para la versión 8.0:

~$ sudo apt install -y php8.0-{gd,gmp,intl,ldap,mbstring,snmp,xml}

Recargamos la configuración del servicio web:

~$ sudo systemctl reload apache2

Servicio Cron

Para obtener los datos de monitorización es necesario crear una tarea para el servicio Cron:

~$ sudo nano /etc/cron.d/cacti

El contenido será una única línea:

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

La tarea está configurada para ser lanzada cada 5 minutos por el mismo ususario con el que corre el servicio web.

Instalador web

Para acceder al instalador web de Cacti en Ubuntu 20.04 bastará con especificar la dirección IP o nombre DNS del sistema añadiendo el alias que hemos configurado anteriormente.

Por ejemplo, la máquina Ubuntu 20.04 en la que hemos realizado este tutorial es accesible en el subdominio ubuntu2004.local.lan, y hemos creado el alias /cacti, por lo que accederemos con http://ubuntu2004.local.lan/cacti como URL:

como instalar cacti en ubuntu 20.04 lts focal fossa

Se nos presentará una página de inicio de sesión, siendo el usuario por defecto admin y su contraseña también admin. Tras iniciar sesión se nos obliga a cambiar la contraseña:

instalar cacti en ubuntu 20.04 lts focal fossa

Seguidamente se mostrará la página con el acuerdo de licencia:

instalacion de cacti en ubuntu 20.04 lts focal fossa

Además de aceptar el acuerdo de licencia expresamente para poder continuar, podremos seleccionar el idioma para la aplicación.

Continuamos siguiendo el enlace «Comenzar«, pasando a mostrarse la comprobación de requisitos para la instalación:

instalador de cacti en ubuntu 20.04 LTS focal fossa

Si seguiste los pasos anteriores, deberían cumplirse todos los requisitos. Puede que algunos ajustes del servicio de bases de datos no correspondan con los valores deseados, pero incluso así en la mayoría de los casos la instalación podrá continuar.

Elegiremos ahora el tipo de instalación:

instalando cacti en ubuntu 20.04 lts focal fossa

En la mayoría de casos se suele instalar un servidor primario, así que esa será la opción que dejaremos marcada.

Continuamos con la revisión de permisos de directorios:

Deberían estar correctos.

Seguimos con la comprobación de herramientas del sistema y sus versiones:

El instalador nos informará del modo en el que se obtienen datos del sistema, de sus inconvenientes y del sistema de listas blancas:

Tendremos que darnos por enterados expresamente para poder continuar.

A continuación se mostrará la configuración del perfil de sondeo de datos:

Los valores por defecto son correctos, aunque habrá que asegurarse de cambiar el rango de red local si no fuese el nuestro.

Se nos mostrará el listado de plantillas disponibles:

Es habitual dejarlas todas seleccionadas, a no ser que sepas cuáles no usarás nunca.

Seguirá una nueva comprobación de la base de datos:

Todos los parámetros necesarios deberían ser correctos.

Por fin está todo listo para iniciar el verdadero proceso de instalación:

Confirmamos la instalación y seguimos el enlace «Instalar«, iniciándose todo el proceso que tomará unos instantes, mostrándose un registro de las tareas realizadas y su resultado:

Terminado este proceso de instalación, aparecerá un botón «Comenzar«:

Siguiendo el enlace «Comenzar» por fin accederemos a la página principal de Cacti con la sesión de administrador iniciada:

cacti en ubuntu 20.04 lts focal fossa

Podemos comprobar el funcionamiento del sondeo de datos de la propia máquina Ubuntu 20.04 local navegando a través de la solapa «Gráficos» de la barra de menú superior, expandiendo a continuación «Default Tree» en el panel lateral para poder acceder al enlace «Local Linux Machine«:

cacti para ubuntu 20.04 lts focal fossa

Si han transcurrido menos de 5 minutos desde la creación de la tarea de Cacti para Cron aún no se mostrarán datos. Bastará con esperar unos minutos y esperar el refresco automático de la página.

Conclusión

Ahora que sabes cómo instalar Cacti en Ubuntu 20.04 LTS Focal Fossa ya puedes monitorizar los dispositivos y sistemas de tu red local fácilmente con una de las aplicaciones web para monitorización más populares.

Si tienes dudas, preguntas, sugerencias de mejora del artículo, crees que necesita una actualización o quieres notificar algún error, deja un comentario y vemos lo que se puede hacer.

¡Apoya comoinstalar.me!

¿Ya tienes lista la monitorización gracias a esta guía de instalación de Cacti en Ubuntu 20.04 LTS? En ese caso, si quieres expresar tu agradecimiento colaborando con el mantenimiento de este sitio y la creación de nuevos artículos, cualquier mínima aportación es bien recibida. Además se priorizan las solicitudes de actualización de tutoriales o las ayudas a problemas técnicos durante la instalación.

Puedes ayudarnos dejando desde 1 $ de propina con PayPal:

O, si te sientes especialmente generoso, puedes invitarnos a un café:

¡Gracias!

Valora esta entrada

5/5 - (3 votos)

10 comentarios en «Cómo instalar Cacti en Ubuntu 20.04 LTS»

  1. Muy bueno el tutorial. Tengo una duda, en el servicio Cron también puedo ponerlo para que polle en 1 minuto, si es así, ¿qué otros cambios debo hacer en la configuración, para que no me arroje warning?

    Responder
    • ¿Qué tipo de alertas te está arrojando? Lo normal es hacer que los gráficos refresquen en el mismo período que el indicado en Cron, cosa que se hace en «Consola / Valores predefinidos / Perfiles de datos» predeterminando el intervalo que nos interese. Pero aunque el valor de Cron y la recolección de datos en Cacti no coincida, no debería haber problemas.

      Responder
    • ¡Hola, Armando! El plugin realtime como tal hace mucho tiempo que dejó de actualizarse, ya que se integró directamente en Cacti. Supongo que lo sabes y te refieres a cómo poder utilizar la funcionalidad de tiempo real, que parece no estar disponible en las versiones actuales (pero como mucha más gente leerá esto, conviene aclararlo). La respuesta es que se decidió deshabilitar por defecto la interfaz de herramientas de los gráficos, pero puede habilitarse de nuevo. Revisa el tutorial, he añadido cómo hacerlo. Y si era lo que necesitabas recuerda que admitimos propinas encantados.

      Responder
  2. Excelente tutorial, sólo tengo una pregunta, ¿cuál es la diferencia aparte de la instalación con las instalaciones que haces por medio de apt?

    Responder
    • ¡Hola, Rolando! Entiendo que te refieres a que cuál es la diferencia entre seguir este tutorial e instalar la versión paquetizada de Cacti presente en los repositorios de Ubuntu 20.04, ¿no? Pues es sencillo, siguiendo este tutorial puedes instalar la última versión disponible de Cacti, mientras que la versión de la distribución es algo más antigua y es muy probable que no sea actualizada durante el ciclo de vida de Ubuntu 20.04.

      Responder
  3. Buen día,
    ¡Muchas gracias!
    El servidor instaló sin problemas, pero desafortunadamente no se están tomando datos. Al intentar ver las gráficas, muestra el mensaje «The CACTI poller has not run yet«.
    ¿Qué puedo hacer?

    Saludos.

    Responder
    • Debes esperar unos minutos, ya que la tarea que recopila datos se ejecuta cada 5 minutos, y la página se refresca también cada 5 minutos, por lo que podrían necesitarse hasta 10 minutos hasta que se visualicen por primera vez los gráficos.

      Responder

Deja un comentario