Cacti es una herramienta de monitoreo de red de código abierto basada en la web diseñada como la aplicación frontal para RRDtool (herramienta de base de datos Round-Robin), que permite al usuario sondear los servicios en un intervalo de tiempo y dar como resultado el formato de gráfico.
Cacti se usa para obtener datos gráficos para la CPU y la utilización del ancho de banda de la red, monitorea el tráfico de la red al sondear un enrutador o conmutador a través de SNMP.
Aquí veremos cómo instalar Cacti en CentOS 7 / RHEL 7.
Requisitos
Configurar repositorio EPEL
Configure el repositorio EPEL solo CentOS 7 / RHEL 7.
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
Instalar SNMP
Instale SNMP y RRDTool.
yum -y install net-snmp net-snmp-utils net-snmp-libs rrdtool
Instalar PHP y Extensiones de PHP
La versión de PHP disponible en el repositorio del sistema operativo base ya llegó al final de su vida útil y para la instalación de Cacti, es posible que deba optar por PHP v7.2+.
Entonces, usaremos el repositorio de Remi para instalar PHP 7.x.
LEER: Cómo instalar PHP 7.3/7.2 en CentOS 7/RHEL 7
yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm
PHP v7.3
yum install -y --enablerepo=remi-php73 php php-xml php-session php-sockets php-ldap php-gd php-gmp php-intl php-mbstring php-mysqlnd php-pdo php-process php-snmp
PHP v7.2
yum install -y --enablerepo=remi-php723 php php-xml php-session php-sockets php-ldap php-gd php-gmp php-intl php-mbstring php-mysqlnd php-pdo php-process php-snmp
Instalar MariaDB
El paquete MariaDB (v5.4) disponible en el repositorio del sistema operativo base no cumple con los requisitos mínimos de Cacti, ya que Cacti requiere MariaDB v5.6+ o MariaDB v10+ para la instalación. Por lo tanto, instale la última versión de MariaDB disponible en el sitio web oficial de la comunidad de MariaDB.
LEER: Cómo instalar MariaDB en CentOS 7/RHEL 7
También puede instalar MySQL 8 en CentOS 7/RHEL 7 como base de datos para la instalación de Cacti### CentOS 7 ### cat <<EOF>> /etc/yum.repos.d/mariadb.repo [mariadb] name = MariaDB baseurl = http://yum.mariadb.org/10.4/centos7-amd64 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1 EOF ### RHEL 7 ### cat <<EOF>> /etc/yum.repos.d/mariadb.repo [mariadb] name = MariaDB baseurl = http://yum.mariadb.org/10.4/rhel7-amd64 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1 EOF
Instale el servidor MariaDB usando el siguiente comando.
yum install -y MariaDB-server MariaDB-client
Ajuste de la base de datos
Cacti recomienda cambiar la configuración de MariaDB para un mejor rendimiento. Edite el archivo de configuración de MariaDB.
vi /etc/my.cnf.d/server.cnf
Agregue variables en la sección [mysqld].
collation-server = utf8mb4_unicode_ci character-set-server=utf8mb4 max_heap_table_size = 64M tmp_table_size = 64M join_buffer_size = 64M innodb_file_format = Barracuda innodb_large_prefix = 1 innodb_flush_log_at_timeout = 3 innodb_buffer_pool_size = 1GB innodb_buffer_pool_instances = 10 # Based on what type for storage you use. The below values are for SSD drives. # Change it if Cacti reports issues during the installation innodb_read_io_threads = 32 innodb_write_io_threads = 16 innodb_io_capacity = 5000 innodb_io_capacity_max = 10000
Iniciar y habilitar servicios
Inicie los siguientes servicios.
systemctl start httpd snmpd mariadb
Habilite los servicios para que se inicien automáticamente al arrancar el sistema.
systemctl enable httpd snmpd mariadb
Crear base de datos
Si está configurando MySQL por primera vez; eche un vistazo a cómo proteger MariaDB.
Cree una base de datos para la instalación de Cacti.
mysql -u root -p
Crea una base de datos para Cacti.
create database cacti;
Otorgue permiso a la base de datos recién creada.
GRANT ALL ON cacti.* TO cactiuser@localhost IDENTIFIED BY 'cactipassword'; flush privileges; exit
El usuario de la base de datos recién creado (cactiuser ) debe tener acceso a la tabla mysql.time_zone_name. Para hacer eso, primero importa mysql_test_data_timezone.sql a la base de datos mysql.
mysql -u root -p mysql < /usr/share/mysql/mysql_test_data_timezone.sql
Luego, inicie sesión en MySQL.
mysql -u root -p
Otorga el permiso a cactususer.
GRANT SELECT ON mysql.time_zone_name TO cactiuser@localhost; flush privileges; exit
Instalar cactus
Utilice el comando yum en CentOS/RHEL para instalar el paquete Cacti.
yum -y install cacti
Importe la base de datos predeterminada a la base de datos de cactus.
mysql cacti < /usr/share/doc/cacti-*/cacti.sql -u root -p
Edite el archivo de configuración para especificar el tipo de base de datos, el nombre, el nombre de host, el usuario y la información de contraseña.
vi /usr/share/cacti/include/config.php
Realice los cambios correspondientes.
/* 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 = "cactipassword"; $database_port = "3306"; $database_ssl = false;
Edite el archivo crontab.
vi /etc/cron.d/cacti
Descomente la siguiente entrada para sondear cada cinco minutos.
*/5 * * * * apache /usr/bin/php /usr/share/cacti/poller.php > /dev/null 2>&1
Configure la zona horaria editando el archivo /etc/php.ini.
vi /etc/php.ini
Actualiza la zona horaria.
date.timezone = US/Central memory_limit = 512M max_execution_time = 60
Edite el archivo de configuración de Apache para realizar la instalación remota.
vi /etc/httpd/conf.d/cacti.conf
Modifique la primera estrofa del directorio, desde Require host localhost.
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>
Requerir todo concedido.
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 localhost </IfModule> </Directory>
Reinicie los servicios.
systemctl restart httpd
Cortafuegos
Configure el cortafuegos para permitir el servicio HTTP.
firewall-cmd --permanent --add-service=http firewall-cmd --reload
SELinux
Configure el contexto de SELinux para los registros de Cacti.
yum install -y policycoreutils-python semanage fcontext -a -t httpd_sys_rw_content_t "/var/log/cacti(/.*)?" restorecon -Rv /var/log/cacti/Si aún no puede hacer que Cacti funcione correctamente, considere deshabilitar permanentemente SELinux. Para deshabilitar temporalmente SELinux, ejecute el siguiente comando en la terminal.
setenforce 0
Configurar cactus
Visite la siguiente URL para iniciar la instalación de cactus.
http://tu-direccion-ip/cactiInicie sesión en Cacti para configurar la instalación de Cacti.
Nombre de usuario: administrador
Contraseña: administrador
Debe cambiar la contraseña del usuario administrador de Cacti antes de configurar Cacti.
Acepte el Acuerdo de licencia en esta página y luego haga clic en Siguiente para continuar.
Cacti realiza comprobaciones previas a la instalación para la instalación de Cacti. Debe solucionar los problemas si el asistente de instalación informa.
Vaya al siguiente paso haciendo clic en el botón Siguiente ubicado en la parte inferior derecha de la página.
Seleccione Nuevo servidor primario o la nueva instalación y luego haga clic en Siguiente.
Este paso verifica e informa sobre los problemas de permisos que pueda tener en el directorio de instalación de Cacti.
Te mostrará si falta algún paquete, lo cual es obligatorio para los cactus.
Haga clic en Siguiente en la página de perfil predeterminada, ya que configuramos cron para sondear cada cinco minutos.
Seleccione todas las plantillas y haga clic en Finalizar para completar la instalación de Cacti.
Haga clic en Siguiente en la página de resumen de la prueba final.
Seleccione Confirmar instalación y presione Instalar para comenzar la instalación de Cacti.
Espere a que se complete la instalación.
En uno o dos minutos, la instalación de Cacti se completará.
Al hacer clic en Comenzar en la página anterior, lo llevará directamente al panel de Cacti. De lo contrario, puede iniciar sesión en Cacti con el nombre de usuario y la contraseña que estableció durante la instalación de Cacti.
Acceso a cactus
Ingrese el nombre de usuario y la contraseña para iniciar sesión en Cacti.
Nombre de usuario: administradorContraseña:
Panel de cactus:
De manera predeterminada, la máquina local (su servidor Cacti) se agregará para monitorear en Cacti. Puede ir a Gráficos>> Árbol predeterminado>> Máquina Linux local para ver el gráfico de uso del servidor Cacti.
Conclusión
Eso es todo. Espero que haya aprendido cómo instalar Cacti en CenOS 7 / RHEL 7. Ahora, puede ver cómo monitorear máquinas Linux remotas con la herramienta de monitoreo Cacti. Comparta sus comentarios en la sección de comentarios.