Cómo instalar Cacti Monitoring Server en CentOS 8

Inicio de sesión de cactus

Cacti es una poderosa herramienta de gráficos y monitoreo de red basada en la web, gratuita y de código abierto. Se utiliza para monitorear el rendimiento del sistema, la carga de la CPU y la utilización del ancho de banda de la red en un formato de gráfico. Le permite sondear servicios a intervalos predeterminados y graficar los datos resultantes. Es una interfaz completa para RRDTool, escrita en PHP y utiliza la base de datos MySQL para almacenar toda la información necesaria.

En este tutorial, explicaremos cómo instalar la herramienta de monitoreo Cacti en CentOS 8.

requisitos previos

  • Un servidor que ejecute CentOS 8 con un m√≠nimo de 2 GB de RAM.
  • Se configura una contrase√Īa de root en el servidor.

Empezando

Primero, se recomienda actualizar los paquetes de su sistema a la √ļltima versi√≥n. Puede actualizarlos con el siguiente comando:

dnf update -y

Una vez que todos los paquetes estén actualizados, instale otras dependencias requeridas para Cacti con el siguiente comando:

dnf install net-snmp net-snmp-utils net-snmp-libs rrdtool -y

Después de instalar todas las dependencias, inicie el servicio SNMP y habilítelo para que se inicie en el arranque con el siguiente comando:

systemctl start snmpd
systemctl enable snmpd

Una vez que haya terminado, puede continuar con el siguiente paso.

Instalar servidor LAMP

A continuación, deberá instalar el servidor web Apache, el servidor de base de datos MariaDB, PHP y otras extensiones de PHP necesarias en su sistema. Puede instalarlos todos con el siguiente comando:

dnf install httpd mariadb-server php php-xml php-session php-sockets php-ldap php-gd php-json php-mysqlnd php-gmp php-mbstring php-posix php-snmp php-intl -y

Una vez que todos los paquetes estén instalados, inicie el servicio HTTP y MariaDB y habilítelos para que se inicien en el arranque con el siguiente comando:

systemctl start httpd
systemctl start mariadb
systemctl enable httpd
systemctl enable mariadb

A continuación, deberá editar el archivo php.ini y realizar algunos cambios:

nano /etc/php.ini
date.timezone = Asia/Kolkata
memory_limit = 512M
max_execution_style = 60

Una vez que haya terminado, puede continuar con el siguiente paso.

Configurar la base de datos MariaDB

A continuación, deberá crear una base de datos y un usuario para Cacti. Primero, inicie sesión en el shell de MariaDB con el siguiente comando:

mysql

Una vez que inicie sesión, cree una base de datos y un usuario para Cacti con el siguiente comando:

MariaDB [(none)]> create database cactidb;
MariaDB [(none)]> GRANT ALL ON cactidb.* TO [email protected] IDENTIFIED BY 'password';

A continuación, elimine los privilegios y salga del shell de MariaDB con el siguiente comando:

MariaDB [(none)]> flush privileges;
MariaDB [(none)]> exit;

A continuación, deberá editar el archivo de configuración de MariaDB y modificar algunas configuraciones. Puede hacerlo editando el archivo /etc/my.cnf.d/mariadb-server.cnf.

nano /etc/my.cnf.d/mariadb-server.cnf

Agregue las siguientes líneas dentro [mysqld] sección:

collation-server=utf8mb4_unicode_ci
character-set-server=utf8mb4
max_heap_table_size=32M
tmp_table_size=32M
join_buffer_size=64M
# 25% Of Total System Memory
innodb_buffer_pool_size=1GB
# pool_size/128 for less than 1GB of memory
innodb_buffer_pool_instances=10
innodb_flush_log_at_timeout=3
innodb_read_io_threads=32
innodb_write_io_threads=16
innodb_io_capacity=5000
innodb_file_format=Barracuda
innodb_large_prefix=1
innodb_io_capacity_max=10000

Guarde y cierre el archivo cuando haya terminado, luego reinicie el servicio MariaDB para aplicar los cambios:

systemctl restart mariadb

A continuación, importe mysql_test_data_timezone.sql a la base de datos mysql con el siguiente comando:

mysql -u root -p mysql < /usr/share/mariadb/mysql_test_data_timezone.sql

A continuación, inicie sesión en MySQL y otorgue al usuario de cactus el acceso a la tabla mysql.time_zone_name:

mysql

Una vez que inicie sesión, ejecute el siguiente comando para otorgar el acceso:

MariaDB [(none)]> GRANT SELECT ON mysql.time_zone_name TO [email protected];

A continuación, elimine los privilegios y salga del shell de MariaDB con el siguiente comando:

MariaDB [(none)]> flush privileges;
MariaDB [(none)]> exit;

Una vez que haya terminado, puede continuar con el siguiente paso.

Instalar y configurar cactus

De forma predeterminada, Cacti no est√° disponible en el repositorio predeterminado de CentOS 8. Por lo tanto, deber√° agregar el repositorio EPEL a su sistema.

Puedes instalarlo con el siguiente comando:

dnf install epel-release -y

Una vez que el repositorio esté instalado, instale Cacti con el siguiente comando:

dnf install cacti -y

Después de instalar Cacti, verifique la instalación de Cacti con el siguiente comando:

rpm -qi cacti

Deberías obtener el siguiente resultado:

Name        : cacti
Version     : 1.2.14
Release     : 1.el8
Architecture: noarch
Install Date: Wednesday 07 October 2020 01:04:02 AM EDT
Group       : Unspecified
Size        : 56217780
License     : GPLv2+
Signature   : RSA/SHA256, Thursday 06 August 2020 05:06:22 AM EDT, Key ID 21ea45ab2f86d6a1
Source RPM  : cacti-1.2.14-1.el8.src.rpm
Build Date  : Thursday 06 August 2020 04:54:10 AM EDT
Build Host  : buildvm-a64-27.iad2.fedoraproject.org
Relocations : (not relocatable)
Packager    : Fedora Project
Vendor      : Fedora Project
URL         : https://www.cacti.net/
Bug URL     : https://bugz.fedoraproject.org/cacti
Summary     : An rrd based graphing tool
Description :
Cacti is a complete frontend to RRDTool. It stores all of the
necessary information to create graphs and populate them with
data in a MySQL database. The frontend is completely PHP
driven.

A continuación, importe los datos de Cacti a la base de datos de Cacti con el siguiente comando:

mysql -u root -p cactidb < /usr/share/doc/cacti/cacti.sql

A continuación, edite el archivo de configuración de Cacti y defina la configuración de su base de datos:

nano /usr/share/cacti/include/config.php

Cambie las siguientes líneas que coincidan con su base de datos:

$database_type     = 'mysql';
$database_default  = 'cactidb';
$database_hostname = 'localhost';
$database_username = 'cacti';
$database_password = 'password';
$database_port     = '3306';
$database_retries  = 5;
$database_ssl      = false;

Guarde y cierre el archivo cuando haya terminado, luego cree un archivo Cron para Cacti.

nano /etc/cron.d/cacti

Agregue la siguiente línea:

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

Guarde y cierre el archivo cuando haya terminado.

Una vez que haya terminado, puede continuar con el siguiente paso.

Configurar Apache para Cactus

A continuación, deberá crear un archivo de configuración de host virtual de Apache para Cacti. Puedes crearlo con el siguiente comando:

nano /etc/httpd/conf.d/cacti.conf

Encuentra las siguientes líneas:

Alias /cacti    /usr/share/cacti

<Directory /usr/share/cacti/>
        <IfModule mod_authz_core.c>
               	# httpd 2.4
                Require host localhost
        </IfModule>
        <IfModule !mod_authz_core.c>
               	# httpd 2.2
                Order deny,allow
                Deny from all
                Allow from localhost
        </IfModule>
</Directory>

Y, reemplácelos con las siguientes líneas:

Alias /cacti    /usr/share/cacti

<Directory /usr/share/cacti/>
        <IfModule mod_authz_core.c>
               	# httpd 2.4
                Require all granted
        </IfModule>
        <IfModule !mod_authz_core.c>
               	# httpd 2.2
                Order deny,allow
                Deny from all
                Allow from all
        </IfModule>
</Directory>

Guarde y cierre el archivo cuando haya terminado, luego reinicie el servicio Apache y PHP-FPM para aplicar los cambios:

systemctl restart httpd
systemctl restart php-fpm

También puede verificar el estado de Apache con el siguiente comando:

systemctl status httpd

Deberías obtener el siguiente resultado:

? httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
  Drop-In: /usr/lib/systemd/system/httpd.service.d
           ??php-fpm.conf
   Active: active (running) since Wed 2020-10-07 01:10:35 EDT; 58s ago
     Docs: man:httpd.service(8)
 Main PID: 5159 (httpd)
   Status: "Running, listening on: port 80"
    Tasks: 213 (limit: 12523)
   Memory: 28.7M
   CGroup: /system.slice/httpd.service
           ??5159 /usr/sbin/httpd -DFOREGROUND
           ??5161 /usr/sbin/httpd -DFOREGROUND
           ??5162 /usr/sbin/httpd -DFOREGROUND
           ??5163 /usr/sbin/httpd -DFOREGROUND
           ??5164 /usr/sbin/httpd -DFOREGROUND

Oct 07 01:10:35 centos8 systemd[1]: Stopped The Apache HTTP Server.
Oct 07 01:10:35 centos8 systemd[1]: Starting The Apache HTTP Server...
Oct 07 01:10:35 centos8 httpd[5159]: AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using fe80::200:45>
Oct 07 01:10:35 centos8 systemd[1]: Started The Apache HTTP Server.
Oct 07 01:10:35 centos8 httpd[5159]: Server configured, listening on: port 80

En este punto, el servidor web Apache est√° configurado para servir a Cacti. Ahora puede continuar con el siguiente paso.

Configurar cortafuegos y SELinux

A continuación, deberá permitir los servicios http y https a través del cortafuegos. Puede permitirlos con el siguiente comando:

firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --reload

A continuación, también deberá deshabilitar SELinux en su sistema.

Puede deshabilitar SELinux editando el archivo /etc/selinux/config:

nano /etc/selinux/config

Encuentra la siguiente línea:

SELINUX=enforcing

Y, reemplácelo con la siguiente línea:

SELINUX=permissive

Guarde y cierre el archivo y luego reinicie el sistema para aplicar los cambios.

Acceder a la interfaz web de cactus

Ahora, abra su navegador web y acceda a la interfaz web de Cacti usando la URL http://your-server-ip/cacti. Será redirigido a la página de inicio de sesión de Cacti:

Inicio de sesión de cactus

Proporcione el nombre de usuario y la contrase√Īa predeterminados como admin / admin y luego haga clic en el Acceso bot√≥n. Deber√≠a ver la pantalla de cambio de contrase√Īa de Cacti:

Cambia la contrase√Īa

Proporcione su contrase√Īa predeterminada, una nueva contrase√Īa y haga clic en el Ahorrar bot√≥n. Deber√≠a ver la p√°gina del acuerdo de licencia de Cacti:

Aceptar licencia

Acepte el acuerdo de licencia y haga clic en el Empezar botón. Debería ver la página de comprobación previa a la instalación:

comprobación previa a la instalación

Aseg√ļrese de que todos los paquetes est√©n instalados y luego haga clic en el pr√≥ximo bot√≥n. Deber√≠as ver la siguiente p√°gina:

Elija el tipo de instalación

Seleccione su tipo de instalación y haga clic en el próximo botón. Debería ver la página de verificación de permisos de directorio:

Permisos de directorio

Haga clic en el próximo botón. Deberías ver la siguiente página.

Comprobar ubicaciones binarias

Haga clic en el próximo botón. Debería ver la página Validación de entrada:

Lista blanca de validación de entrada

Marque la casilla de verificación y haga clic en el próximo botón. Debería ver la página Perfil:

Perfil por defecto

Proporcione su rango de red y haga clic en el próximo botón. Debería ver la página de configuración de la plantilla:

Configuración de plantilla

Seleccione la plantilla requerida y haga clic en el próximo botón. Deberías ver la siguiente página:

intercalación del servidor

A continuación, abra su terminal, inicie sesión en el shell de MySQL y cambie el conjunto de caracteres ejecutando el siguiente comando:

MariaDB [(none)]> ALTER DATABASE cactidb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> exit;

A continuación, vuelva al asistente de instalación de Cacti y haga clic en el próximo botón. Deberías ver la siguiente página:

Confirmar instalación

Confirme la instalación y haga clic en el Instalar botón. Una vez finalizada la instalación, debería ver la siguiente página:

Instalación completada con éxito

Haga clic en el Obtener Empezado botón. Debería ver el tablero de Cacti en la siguiente página:

Tablero de cactus

Haga clic en el gráficos => Máquina local de Linux. Debería ver la información sobre su máquina local en la siguiente página:

Monitoreo de servidores con Cacti

Conclusión

¡Felicidades! Ha instalado y configurado con éxito la herramienta de monitoreo de red Cacti en Ubuntu 20.04. Ahora puede instalar el agente Cacti en la máquina del cliente y agregarlo al servidor Cacti y comenzar a monitorear. No dude en preguntarme si tiene alguna pregunta.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *