Cómo instalar Cacti en CentOS 7

En esta entrada veremos cómo instalar Cacti en CentOS 7 paso a paso, una aplicación web estupenda para monitorizar los sistemas y dispositivos de tu red local y comprobar su estado a través de gráficas.

Antes de instalar Cacti en CentOS 7

Si quieres completar esta guía de instalación y configuración de Cacti en CentOS 7 debes satisfacer los siguientes requerimientos básicos:

  • Una máquina CentOS 7 actualizada.
  • Un entorno o pila tipo LAMP (servidor web con PHP y bases de datos).
  • El repositorio EPEL.
  • El paquete policycoreutils-python.
  • Acceso a consola con un usuario con permisos de sudo, o el mismo root.
  • Conexión a Internet.

En el caso de no tener aún el entorno necesario, es posible que necesites consultar previamente nuestra guía de instalación LAMP en CentOS 7.

Cómo instalar Cacti en CentOS 7

Para instalar Cacti en CentOS 7 usaremos los paquetes disponibles en el repositorio EPEL, así que como paso previo actualizaremos la información de los repositorios del sistema:

~$ sudo yum update

Si aún no tienes instalado el repositorio EPEL, este es el momento de hacerlo:

~$ sudo yum install -y epel-release

El paquete que buscamos es cacti, que instalaremos seguidamente con yum:

~$ sudo yum install -y cacti

Si no estaba instalado previamente, Cacti instalará entre sus dependencias el servicio SNMP en CentOS 7, que deberemos habilitar e iniciar manualmente:

~$ sudo systemctl enable --now snmpd

Preparación del servicio de bases de datos

Cacti usa la base de datos de zonas horarias de MariaDB/MySQL, que prácticamente nadie suele instalar por defecto. Así que cargaremos dichas tablas a partir de las zonas horarias definidas en CentOS 7:

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

En cuanto a la configuración del servicio de bases de datos, Cacti es bastante exigente, así que editaremos el archivo de configuración correspondiente (que varía según la versión de MariaDB/MySQL instalada). En este caso usamos MariaDB 10.4.10 procedente de los repositorios oficiales de MariaDB:

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

Especificaremos los siguientes valores en la sección server:

...
[server]
# # # Inicio configuración para Cacti
character_set_server=utf8mb4
collation_server=utf8mb4_unicode_ci
innodb_file_format=Barracuda
innodb_large_prefix=on
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
join_buffer_size=32M
# # # Fin configuración para Cacti
...

Será necesario reiniciar el servicio de bases de datos para que los cambios hagan efecto:

~$ sudo systemctl restart mariadb

Preparación de la base de datos de Cacti

Por otro lado crearemos la base de datos exclusiva de Cacti.

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

~$ mysql -u root -p

Creamos la base de datos:

> create database cacti;

Si usamos MariaDB o MySQL 5, creamos el usuario de la forma habitual:

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

Pero si se trata de MySQL 8, nos aseguramos de que el usuario utilice el plugin de autenticación adecuado:

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

Sea el caso que sea, concedemos los permisos sobre la base de datos:

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

Por otro lado, el usuario de la base de datos de Cacti debe poder acceder a la base de datos de zonas horarias de MariaDB/MySQL, que cargamos anteriormente:

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

Ya podemos salir del cliente de consola:

> exit

Con la base de datos creada es necesario preparar su estructura a través de un archivo .sql dispuesto al efecto:

~$ mysql -u cactiuser -p cacti < /usr/share/doc/cacti-1.2.6/cacti.sql

Ahora debemos editar el archivo de configuración de Cacti para configurar la conexión a la base de datos:

~$ sudo nano /usr/share/cacti/include/config.php

Al principio del archivo se encuentran los datos de conexión:

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

Hemos creado la base de datos y el usuario conforme a los valores por defecto, por lo que no necesitamos modificarlos, pero la contraseña sí es diferente, así que la sustituimos en la variable $database_password:

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

Guardamos los cambios y cerramos el archivo.

Configuración de PHP

Cacti requiere ciertos valores de configuración de la versión de PHP que tengas instalada en CentOS 7.

Editamos el archivo php.ini:

~$ sudo nano /etc/php.ini

Buscaremos las directivas max_execution_time y memory_limit:

...
; Maximum execution time of each script, in seconds
; http://php.net/max-execution-time
; Note: This directive is hardcoded to 0 for the CLI SAPI
max_execution_time = 30
...
; Maximum amount of memory a script may consume (128MB)
; http://php.net/memory-limit
memory_limit = 128M
...

Y cambiaremos sus valores a los siguientes:

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

Ya podemos guardar los cambios.

Configuración del servidor web

Ahora editaremos el archivo de configuración de Cacti para el servidor web, que configura un alias /cacti sobre el directorio de instalación de Cacti en /usr/share/.

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

El bloque Directory referido a la ruta /usr/share/cacti incluye una directiva Require que sólo permite acceso local:

...
<Directory /usr/share/cacti/>
        <IfModule mod_authz_core.c>
                # httpd 2.4
                Require host localhost
        </IfModule>
...

Cambiaremos su valor para poder tener acceso desde la red:

...
                Require all granted
...

Guardamos los cambios y recargamos la configuración del servidor:

~$ sudo systemctl reload httpd

SELinux

Cacti está configurado para crear sus archivos de registro o logs en su propio directorio, /var/log/cacti/, pero si está SELinux activado, como ocurre por defecto en CentOS 7, lo impedirá.

Necesitamos aplicar un contexto de lectura/escritura para el servidor web a este directorio:

~$ sudo chcon -R -t httpd_sys_rw_content_t /var/log/cacti/

Haremos este cambio permanente:

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

Configuración de cron

Se ha creado una configuración de Cacti para cron, pero debemos activarla, para lo que editaremos el archivo correspondiente:

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

Podemos ver que la tarea está desactivada:

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

Eliminamos el carácter # inicial para activar la tarea programada:

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

Y guardamos los cambios.

Cómo acceder a Cacti en CentOS 7

Para acceder a Cacti en CentOS 7 sólo tendremos que añadir la ruta /cacti a la dirección IP o dominio del sistema.

Por ejemplo, la máquina CentOS 7 de este tutorial es accesible en el dominio centos7.local, así que la URL http://centos7.local/cacti es la que usaremos para acceder:

como instalar cacti en centos 7

Se nos muestra la página de inicio de sesión, en la que usaremos las credenciales por defecto, usuario admin y contraseña admin.

Nada más acceder se nos pide cambiar la contraseña por defecto por una nueva:

instalar cacti en centos 7

Realizada esta operación, se nos mostrará el asistente de instalación, donde podremos elegir un tema visual para la aplicación, el idioma, y necesitaremos aceptar el acuerdo de licencia GPL:

instalacion de cacti en centos 7

Pasaremos a la sección de comprobación de requisitos de CentOS 7 y el entorno del sistema para Cacti:

Si has seguido uno a uno los pasos anteriores de configuración tu sistema debería cumplir todos los requisitos, por lo que podemos continuar con la instalación.

Tendremos que elegir el tipo de instalación, que normalmente será del tipo «Nuevo servidor primario«:

Se realizará una nueva comprobación, en este caso de los permisos de acceso y escritura sobre los directorios que utilizará Cacti:

Seguirá una comprobación de las herramientas, comandos y utilidades de CentOS 7 que usará Cacti:

Continuamos configurando el perfil predeterminado para el sondeo y escaneo de los dispositivos que monitorizará Cacti. Es importante ajustar el rango de red si no corresponde al valor por defecto, 192.168.1.0/24:

El siguiente paso es añadir en la configuración de plantillas aquella que se adecúe al sistema, aunque puedes marcar todas:

La siguiente página nos informa de la configuración de la base de datos con respecto a las codificaciones seleccionadas:

Por fin la configuración de la instalación está terminada, pero será necesario confirmar la instalación para poder continuar:

Comenzará el proceso de instalación y una barra de progreso nos informará del avance de las tareas:

Tras unos instantes la instalación llega a su fin y nos informa del resultado, que debería ser positivo:

Pulsando en «Comenzar» entraremos por fin en la página principal de Cacti en CentOS 7, donde tendremos seleccionado por defecto el menú «Consola«:

Si cambiamos al menú «Gráficos» y expandimos el árbol por defecto, «Default Tree«, aparecerá el dispositivo configurado por defecto, que no es otro que la máquina local. Si lo seleccionamos podremos ver sus gráficas de estado:

cacti en centos 7

A partir de aquí ya solo queda añadir nuevos dispositivos y sistemas siguiendo el proceso de:

  • Crear el dispositivo.
  • Asociar plantillas de gráficas y consultas al dispositivo.
  • Crear gráficas del dispositivo.
  • Añadir el dispositivo al árbol de la sección de gráficas.

Conclusión

Ya has visto cómo instalar Cacti en CentOS 7, un proceso sin duda laborioso, pero que funcionará a la primera siguiendo paso a paso las tareas previas. Añade más sistemas y dispostivos de tu red y configura sus gráficas para tener todo bajo control.

Si tienes preguntas, sugerencias, dudas, etc. puedes dejar un comentario.

¡Apoya este sitio!

¿Ya monitorizas tus sistemas gracias a esta guía de instalación y configuración de Cacti en CentOS 7? Si es así y te apetece agradecérnoslo, cualquier aportación es bien recibida para el mantenimiento de este sitio y creación de más guías sobre CentOS 7 y Cacti.

Valora esta entrada

1 estrella2 estrellas3 estrellas4 estrellas5 estrellas (1 votos, promedio: 5,00 de 5)
Cargando…

Deja un comentario

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies.

ACEPTAR
Aviso de cookies