Cómo instalar Cacti en CentOS 8

En este artículo veremos cómo instalar Cacti en CentOS 8 (CentOS Stream 8) paso a paso, de modo que puedas monitorizar tanto tu servidor o VPS CentOS como máquinas de la red local gracias a este popular software de monitorización.

Existen otros tutoriales como este para otras versiones de CentOS e incluso otros sitemas operativos que puedes encontrar fácilmente con nuestro buscador.

Antes de instalar Cacti en CentOS 8

Para poder seguir esta guía de instalación de Cacti en CentOS 8 debemos cumplir estos requisitos mínimos:

  • Un sistema CentOS 8 (CentOS Stream 8) actualizado.
  • Un entorno o pila tipo LAMP (servicio web con PHP y motor de bases de datos).
  • Acceso a consola con un usuario con permisos de sudo o root.
  • Conexión a Internet.

Si no dispones aún del entorno mínimo sin duda te resultará de interés nuestra guía de instalación de la pila LAMP en CentOS 8.

Necesitaremos algunos paquetes y herramientas que podemos obtener del repositorio de CentOS 8, por lo que actualizamos las listas de paquetes:

~$ sudo yum update

E instalamos estos pre-requisitos:

~$ sudo yum install -y net-snmp-utils policycoreutils-python-utils rrdtool tar wget

Cómo descargar Cacti para CentOS 8

Vamos a descargar Cacti para CentOS 8 desde el sitio web del proyecto, donde encontraremos la última versión estable disponible:

como descargar cacti para centos 8 (centos stream 8)

Encontraremos un paquete en formato .tar.gz que podemos descargar desde el navegador o, como haremos en esta guía, desde consola con el comando wget:

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

Cómo instalar Cacti en CentOS 8

Para poder instalar Cacti en CentOS 8 debemos realizar un buen número de tareas previas para preparar el sistema. Vamos a ver con detalle cómo realizar estos pasos.

Archivos de Cacti

Descomprimimos el paquete que acabamos de descargar directamente en la ruta de instalación que nos interese:

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

Como la subcarpeta que se crea contiene números de versión en su nombre, la renombraremos, para facilitar el mantenimiento y configuración:

~$ sudo mv /var/www/cacti-1.2.20/ /var/www/cacti

Cacti necesita modificar y crear archivos, así que cambiaremos la propiedad de archivos y carpetas de la aplicación al usuario con el que corre el servicio web en CentOS 8:

~$ sudo chown -R apache: /var/www/cacti/

Necesitaremos editar la configuración por defecto de la aplicación:

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

Buscamos la configuración de la base de datos:

...
$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   = '';
...

Por seguridad cambiaremos la contraseña del usuario de la base de datos:

...
$database_password = 'XXXXXXXX';
...

Si el servidor CentOS 8 es accesible en varios dominios, opcionalmente podríamos configurar la variable cacti_cookie_domain para restringir el acceso a Cacti en un único dominio permitido:

...
//$cacti_cookie_domain = 'cacti.net';
...

Eliminaríamos los dos caracteres / al inicio de línea y sustituiríamos el valor por defecto del dominio:

...
$cacti_cookie_domain = 'centos8.local.lan';
...

Guardamos los cambios y cerramos el archivo.

SELinux

En el caso de tener activado SELinux en CentOS 8, que es lo habitual, debemos crear un contexto de lectura/escritura para el servidor web sobre la carpeta de Cacti:

~$ sudo semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/cacti(/.*)?"

Aplicamos este contexto con el comando restorecon:

~$ sudo restorecon -R /var/www/cacti/

Base de datos

Cacti trabaja sobre el servicio de base de datos de CentOS 8, que deberá ser del tipo MariaDB/MySQL. Debemos realizar algunos ajustes configurando el servicio de bases de datos editando su archivo de configuración principal y posteriormente preparar la base de datos.

Configuración del servicio en MariaDB

En el caso de MariaDB procedente de los repositorios de CentOS 8 sería el archivo mariadb-server.cnf:

~$ sudo nano /etc/my.cnf.d/mariadb-server.cnf

Añadimos o modificamos las siguientes directivas en la sección server o en la sección mysqld:

...
[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
...

Terminados los ajustes, cerramos el archivo y reiniciamos el servicio:

~$ sudo systemctl restart mariadb

Configuración del servicio en MySQL

Editamos el archivo de configuración mysql-server.cnf:

~$ sudo nano /etc/my.cnf.d/mysql-server.cnf

Y al final del mismo añadimos las siguientes directivas:

...
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 mysqld

Preparación de la base de datos para Cacti

Cacti usa la base de zonas horarias de MariaDB/MySQL, que normalmente no suele contener datos, por lo que la cargaremos con ayuda del comando mysql_tzinfo_to_sql:

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

Es normal que se produzcan algunos avisos durante el proceso.

Conectamos al servicio con el cliente de consola mysql y un usuario administrador:

~$ mysql -u root -p

Creamos la base:

> create database cacti charset utf8mb4 collate utf8mb4_unicode_ci;

Creamos el usuario, para MariaDB o MySQL 5.x:

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

Para MySQL 8 este paso es similar, pero conviene especificar el plugin de autenticación adecuado:

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

Concedemos los permisos necesarios al usuario sobre la base:

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

También concedemos permiso de acceso sobre la tabla mysql.time_zone_name:

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

Podemos ya cerrar la sesión:

> exit

Finalmente debemos inicializar la base de datos para Cacti, usando para ello un script SQL que incorpora Cacti:

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

PHP

Editamos el archivo php.ini para realizar algunos ajustes que necesita Cacti:

~$ sudo nano /etc/php.ini

Y modificamos los valores de las siguientes directivas:

...
max_execution_time = 60
...
memory_limit = 400M
...

Cacti también requiere la presencia en CentOS 8 de ciertas extensiones:

~$ sudo yum install -y php-gd php-gmp php-json php-ldap php-mbstring php-posix php-simplexml php-snmp

Servicio web

En este tutorial hemos instalado Cacti en una ruta de CentOS 8 que no es navegable directamente, por lo que debemos crear una configuración de Apache que permita la navegación:

~$ sudo nano /etc/httpd/conf.d/cacti.conf

El contenido será un alias que puedes llamar con el nombre que te interese, auque en este ejemplo será cacti:

Alias /cacti /var/www/cacti

Guardamos el archivo y recargamos la configuración del servicio:

~$ sudo systemctl reload httpd

Cron

Cacti debe lanzar periódicamente la herramienta de monitorización que obtendrá la información y creará los gráficos de estado. Para ello creamos una tarea para el servicio Cron:

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

Con el contenido siguiente:

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

Cada 5 minutos se lanzará el proceso de monitorización.

Instalador web de Cacti para CentOS 8

Vamos a acceder al instalador web de Cacti en CentOS 8 desde el navegador, para lo que usaremos el alias que creamos anteriormente añadido a la dirección IP, nombre DNS o dominio permitido.

Por ejemplo, la máquina CentOS 8 sobre la que hemos preparado este tutorial es accesible en el subdominio centos8.local.lan y hemos creado un alias /cacti, así que podemos usar http://centos8.local.lan/cacti como URL de acceso al instalador:

como instalar cacti en centos 8 (centos stream 8)

Iniciamos sesión con el usuario admin y la contraseña temporal admin.

Nada más autenticarnos, habrá que cambiar la contraseña:

instalar cacti en centos 8 (centos stream 8)

Se presenta el acuerdo de licencia de Cacti:

instalacion de cacti en centos 8 (centos stream 8)

Hay que aceptar expresamente el acuerdo de licencia, sin olvidar previamente elegir el idioma en que queremos instalar Cacti.

Se mostrará la lista de requisitos previos a la instalación:

configurar centos 8 para cacti (centos stream 8)

Si has seguido los pasos anteriores, deberán cumplirse si no todos, los requistos imprescindibles para poder continuar.

Continuamos con la selección del tipo de instalación:

instalador de cacti para centos 8 (centos stream 8)

Lo habitual es elegir un servidor primario.

También se revisarán los permisos de los directorios de Cacti:

instalando cacti en centos 8 (centos stream 8)

Una nueva comprobación revisará las versiones y ubicaciones de las herramientas de CentOS 8 que usa Cacti:

Se nos informará de los riesgos que puede suponer el uso del sistema de monitorización a través de consola:

Para evitar problemas se nos recomienda activar y utilizar el sistema de listas blancas tras la instalación.

El siguiente paso es la configuración del intervalo de sondeo de datos:

Podemos dejar los valores por defecto, ya que en este ejemplo hemos configurado la tarea de Cron para ser lanzada cada 5 minutos.

A continuación podremos seleccionar las plantillas de dispositivos que nos interesen:

Ante la duda, puedes dejarlas todas seleccionadas para su instalación.

Una última comprobación revisará el formato de la base de datos:

Y por fin todo estará listo para realizar el proceso de instalación:

Tendremos que confirmar la instalación para poder lanzarla.

Comenzará el proceso, que irá arrojando información de cada uno de los pasos realizados:

Tras unos instantes el proceso termina:

Podemos examinar el registro de tareas o directamente acceder a la página principal de la aplicación, mediante el enlace «Comenzar«.

cacti para centos 8 (centos stream 8)

Para comprobar el funcionamiento del sondeo y la integración con la aplicación web, visitaremos la sección «Gráficos«, expandimos en el panel lateral «Default Tree» y accedemos a «Local Linux Machine«:

cacti en centos 8 (centos stream 8)

Dependiendo del tiempo que haya pasado desde la configuración de la tarea de Cacti para Cron los primeros gráficos de la máquina local CentOS 8 podrán o no estar disponibles. Estén listos o no, se irán refrescando cada pocos minutos, de modo que deberíamos poder ver la información actualizada.

Conclusión

Ahora que ya sabes cómo instalar Cacti en CentOS 8 ya puedes monitorizar fácilmente tus sistemas gracias a su potente y visual interfaz gráfica.

Si tienes dudas o preguntas, sugerencias, notificaciones de errores, etc. puedes dejar un comentario que revisaremos lo antes posible.

¡Apoya comoinstalar.me!

¿Ya supervisas tu sistema gracias a esta guía de instalación de Cacti en CentOS 8? Si es así y te apetece agradecérnoslo puedes hacerlo ayudando al mantenimiento de este sitio y la creación de más tutoriales y guías dejando una propina desde 1 $ con PayPal:

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

¡Gracias!

Valora esta entrada

5/5 - (2 votos)

1 comentario en «Cómo instalar Cacti en CentOS 8»

Deja un comentario

Ads Blocker Image Powered by Code Help Pro

¡Detectado un bloqueador de publicidad!

Hemos detectado que está usando extensiones para bloquear anuncios prublicitarios. Por favor, ayúdenos desactivando dicho bloqueador para este sitio web. ¡Gracias!