La herramienta <strong>Cacti</strong> es una solución de gráficos de monitoreo de sistema y monitoreo de red basada en la web de código abierto para empresas de TI . Cacti permite a un usuario sondear servicios a intervalos regulares para crear gráficos sobre los datos resultantes usando RRDtool . Generalmente, se utiliza para graficar datos de series temporales de métricas como la utilización del ancho de banda de la red , la carga de la CPU , los procesos en ejecución , el espacio en disco , etc.
En este tutorial, le mostraremos cómo instalar y configurar una aplicación de monitoreo de red completa llamada Cacti usando la herramienta Net-SNMP en sistemas RHEL , CentOS y Fedora usando la herramienta de administración de paquetes YUM y DNF.
Paquetes requeridos de cactus
El Cacti requería que los siguientes paquetes se instalaran en sus sistemas operativos Linux como RHEL / CentOS / Fedora .
- Apache : un servidor web para mostrar gráficos de red creados por PHP y RRDTool .
- MySQL : un servidor de base de datos para almacenar información de cactus.
- PHP : un módulo de script para crear gráficos usando RRDToo l.
- PHP-SNMP : una extensión de PHP para que SNMP acceda a los datos.
- NET-SNMP : se utiliza un SNMP ( Protocolo simple de administración de red ) para administrar la red.
- RRDTool : una herramienta de base de datos para administrar y recuperar datos de series de tiempo como carga de CPU , ancho de banda de red, etc.
Nota : Las instrucciones de instalación que se muestran aquí están escritas en base a la distribución de Linux CentOS 7.5 .
Instalación de paquetes requeridos de Cacti en RHEL / CentOS / Fedora
Primero, necesitamos instalar los siguientes paquetes de dependencia uno por uno usando la herramienta de administrador de paquetes predeterminada como se muestra.
Instalar Apache
# yum install httpd httpd-devel [On RHEL/CentOS 7/6] # dnf install httpd httpd-devel [On RHEL/CentOS 8 and Fedora 30]
Instale el servidor web Apache en CentOS
Instalar MySQL
# yum install mysql mysql-server [On RHEL/CentOS 6]
MariaDB es una bifurcación desarrollada por la comunidad del proyecto de base de datos MySQL y proporciona un reemplazo para MySQL. Anteriormente, la base de datos oficial admitida era MySQL bajo RHEL / CentOS y Fedora .
Recientemente, RedHat realiza una nueva transacción de MySQL a MariaDB, ya que MariaDB es la implementación predeterminada de MySQL en RHEL / CentOS 8/7 y Fedora 19 en adelante.
# yum install mariadb-server -y[On RHEL/CentOS 7] # dnf install mariadb-server -y [On RHEL/CentOS 8 and Fedora 30]
Instalar MariaDB Server en CentOS
Instalar PHP
# yum install php-mysql php-pear php-common php-gd php-devel php php-mbstring php-cli OR # dnf install php-mysql php-pear php-common php-gd php-devel php php-mbstring php-cli
Instalar PHP en CentOS
Instalar PHP-SNMP
# yum install php-snmp OR # dnf install php-snmp
Instalar SNMP en CentOS
Instalar NET-SNMP
# yum install net-snmp-utils net-snmp-libs OR # dnf install net-snmp-utils net-snmp-libs
Instalar Net SNMP en CentOS
Instalar RRDTool
# yum install rrdtool OR # dnf install rrdtool
Instalar RRDTool en CentOS
Inicio de servicios Apache, MySQL y SNMP
Una vez que haya instalado todo el software requerido para la instalación de Cacti , iniciemos uno por uno usando los siguientes comandos.
En RHEL / CentOS 6 y Fedora 18-12
[[email protected] ]# service httpd start [[email protected] ]# service mysqld start [[email protected] ]# service snmpd start
En RHEL / CentOS 8/7 y Fedora 19 en adelante
[[email protected] ]# systemctl start httpd.service [[email protected] ]# systemctl start mariadb.service [[email protected] ]# systemctl start snmpd.service
Configurar enlaces de inicio del sistema
Configuración de los servicios de Apache , MySQL y SNMP para que se inicien en el arranque.
En RHEL / CentOS 6 y Fedora 18-12
[[email protected] ]# /sbin/chkconfig --levels 345 httpd on [[email protected] ]# /sbin/chkconfig --levels 345 mysqld on [[email protected] ]# /sbin/chkconfig --levels 345 snmpd on
En RHEL / CentOS 8/7 y Fedora 19 en adelante
[[email protected] ]# systemctl enable httpd.service [[email protected] ]# systemctl enable mariadb.service [[email protected] ]# systemctl enable snmpd.service
Instalar Cacti en RHEL / CentOS / Fedora
Aquí, debe instalar y habilitar el repositorio EPEL. Una vez que haya habilitado el repositorio, escriba el siguiente comando para instalar la aplicación Cacti.
# yum install cacti [On RHEL/CentOS 7] # dnf install cacti [On RHEL/CentOS 8 and Fedora 30]
Instalar Cacti en CentOS
Configuración del servidor MySQL para la instalación de Cacti
Necesitamos configurar MySQL para Cacti , para hacer esto necesitamos asegurar un servidor MySQL recién instalado y luego crearemos la base de datos Cacti con el usuario Cacti . Si su MySQL ya está instalado y protegido, no es necesario que vuelva a hacerlo.
# mysql_secure_installation
Crear base de datos MySQL Cacti
Inicie sesión en el servidor MySQL con una contraseña recién creada y cree la base de datos Cacti con el usuario Cacti y establezca la contraseña.
En RHEL / CentOS 6 y Fedora 18-12
[[email protected] ]# mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with or g. Your MySQL connection id is 3 Server version: 5.1.73 Source distribution Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help' or 'h' for help. Type 'c' to clear the current input statement. mysql> create database cacti Query OK, 1 row affected (0.00 sec) mysql> GRANT ALL ON cacti.* TO [email protected] IDENTIFIED BY 'tecmint' Query OK, 0 rows affected (0.00 sec) mysql> FLUSH privileges Query OK, 0 rows affected (0.00 sec) mysql> quit Bye
En RHEL / CentOS 8/7 y Fedora 19 en adelante
[[email protected] ]# mysql -u root -p Enter password: Welcome to the MariaDB monitor. Commands end with or g. Your MariaDB connection id is 3 Server version: 5.5.41-MariaDB MariaDB Server Copyright (c) 2000, 2014, Oracle, MariaDB Corporation Ab and others. Type 'help' or 'h' for help. Type 'c' to clear the current input statement. MariaDB [(none)]> create database cacti Query OK, 1 row affected (0.00 sec) MariaDB [(none)]> GRANT ALL ON cacti.* TO [email protected] IDENTIFIED BY 'tecmint' Query OK, 0 rows affected (0.00 sec) MariaDB [(none)]> FLUSH privileges Query OK, 0 rows affected (0.00 sec) MariaDB [(none)]> quit Bye
Instalar Cacti Tables en MySQL
Averigüe la ruta del archivo de la base de datos usando el comando RPM , para instalar tablas de cactus en la base de datos de Cacti recién creada , use el siguiente comando.
# rpm -ql cacti | grep cacti.sql
Salida de muestra:
/usr/share/doc/cacti-1.2.6/cacti.sql OR /usr/share/doc/cacti/cacti.sql
Ahora que tenemos la ubicación del archivo Cacti.sql , escriba el siguiente comando para instalar tablas, aquí debe escribir la contraseña de usuario de Cacti .
[[email protected] ]# mysql -u cacti -p cacti < /usr/share/doc/cacti-0.8.8b/cacti.sql Enter password:
Configurar los ajustes de MySQL para Cacti
Abra el archivo llamado /etc/cacti/db.php con cualquier editor.
# vi /etc/cacti/db.php
Realice los siguientes cambios y guarde el archivo. Asegúrese de configurar la contraseña correctamente.
/* make sure these values reflect your actual database/host/user/password */ $database_type = "mysql" $database_default = "cacti" $database_hostname = "localhost" $database_username = "cacti" $database_password = "your-password-here" $database_port = "3306" $database_ssl = false
Configuración de firewall para Cacti
En RHEL / CentOS 6 y Fedora 18-12
[[email protected] ]# iptables -A INPUT -p udp -m state --state NEW --dport 80 -j ACCEPT [[email protected] ]# iptables -A INPUT -p tcp -m state --state NEW --dport 80 -j ACCEPT [[email protected] ]# service iptables save
En RHEL / CentOS 8/7 y Fedora 19 en adelante
[[email protected] ]# firewall-cmd --permanent --zone=public --add-service=http [[email protected] ]# firewall-cmd --reload
Configuración del servidor Apache para la instalación de Cacti
Abra el archivo llamado /etc/httpd/conf.d/cacti.conf con el editor que elija.
# vi /etc/httpd/conf.d/cacti.conf
Debe habilitar el acceso a la aplicación Cacti para su red local o por nivel de IP. Por ejemplo, hemos habilitado el acceso a nuestra red LAN local 172.16.16.0/20 . En tu caso, sería diferente.
Alias /cacti /usr/share/cacti <Directory /usr/share/cacti/> Order Deny,Allow Deny from all Allow from 172.16.16.0/20 </Directory>
En la última versión de Apache (por ejemplo: Apache 2.4 ), es posible que deba cambiar de acuerdo con la siguiente configuración.
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>
Finalmente, reinicie el servicio Apache .
[[email protected] ]# service httpd restart[On RHEL/CentOS 6 and Fedora 18-12] [[email protected] ]# systemctl restart httpd.service[On RHEL/CentOS 8/7 and Fedora 19 onwards]
Configuración de Cron para cactus
Abra el archivo /etc/cron.d/cacti .
# vi /etc/cron.d/cacti
Descomente la siguiente línea. El script poller.php se ejecuta cada 5 minutos y recopila datos del host conocido que utiliza la aplicación Cacti para mostrar gráficos.
#*/5 * * * * cacti /usr/bin/php /usr/share/cacti/poller.php > /dev/null 2>&1
Ejecución de la configuración del instalador de Cacti
Finalmente, Cacti está listo, solo vaya a http: // YOUR-IP-HERE / cacti / y siga las instrucciones del instalador a través de las siguientes pantallas. Ingrese los detalles de inicio de sesión predeterminados y presione el botón <strong>Enter</strong> .
User: admin Password: admin
Inicio de sesión de usuario de cactus
A continuación, cambie la contraseña predeterminada de Cacti.
Cambiar la contraseña de administrador de Cacti
Acepte el contrato de licencia de Cacti.
Aceptar el contrato de licencia de Cacti
A continuación, la pantalla muestra Comprobaciones previas a la instalación para la instalación de Cacti, corrija la configuración sugerida en su /etc/php.ini
archivo como se muestra y reinicie Apache después de realizar los cambios.
memory_limit = 800M max_execution_time = 60 date.timezone = Asia/Kolkata
Comprobaciones previas a la instalación de cactus
De manera similar, también debe otorgar acceso a la base de datos de MySQL TimeZone para el usuario Cacti, de modo que la base de datos se llene con información global de TimeZone.
mysql> use mysql mysql> GRANT SELECT ON mysql.time_zone_name TO [email protected] mysql> flush privileges
Comprobaciones previas a la instalación de Cacti MySQL
Elija el tipo de instalación como ” Nueva instalación “.
Seleccione el tipo de instalación de cactus
Asegúrese de que todos los siguientes permisos de directorio sean correctos antes de continuar.
Verificaciones de permisos del directorio de cactus
Asegúrese de que todos estos valores de Versiones y ubicaciones binarias críticas sean correctos antes de continuar.
Versiones y ubicaciones binarias críticas
Elija el perfil de fuente de datos predeterminado que se utilizará para las fuentes de sondeo.
Seleccionar perfil de fuente de datos
Por favor, elija las plantillas de dispositivo que desea utilizar después de la instalación de Cacti.
Seleccionar plantillas de dispositivos Cacti
Establezca Server Collation en su archivo de configuración MySQL /etc/my.cnf en la sección [mysqld] como se muestra.
[mysqld] character-set-server=utf8mb4 collation-server=utf8mb4_unicode_ci
Establecer intercalación del servidor
Su servidor Cacti está casi listo. Confirme que está feliz de continuar.
Proceso de
instalación de Cacti Instalación de Cacti Server
Cacti Dashboard
Para obtener más información y uso, visite la página de cactus .
Herramientas de monitoreo