Instal·leu Cacti (vigilància de la xarxa) a RHEL/CentOS 8/7 i Fedora 30


L'eina Cacti és una solució gràfica de monitorització de xarxes i monitorització de sistemes basada en web de codi obert per a negocis informàtics. Cacti permet a un usuari consultar serveis a intervals regulars per crear gràfics sobre les dades resultants mitjançant RRDtool. Generalment, s'utilitza per representar gràficament dades de sèries temporals de mètriques com l'espai en disc, etc.

En aquesta pràctica, us mostrarem com instal·lar i configurar una aplicació completa de monitorització de xarxa anomenada Cacti mitjançant l'eina Net-SNMP als sistemes RHEL, CentOS i Fedora mitjançant l'eina de gestió de paquets DNF.

El Cacti requeria que s'instal·lin els paquets següents als vostres sistemes operatius Linux com RHEL/CentOS/Fedora.

  1. Apache : un servidor web per mostrar gràfics de xarxa creats per PHP i RRDTool.
  2. MySQL : un servidor de bases de dades per emmagatzemar informació de cactus.
  3. PHP : un mòdul de script per crear gràfics amb RRDTool.
  4. PHP-SNMP : una extensió PHP perquè SNMP accedeixi a les dades.
  5. NET-SNMP : s'utilitza un SNMP (Simple Network Management Protocol) per gestionar la xarxa.
  6. RRDTool : una eina de base de dades per gestionar i recuperar dades de sèries temporals com ara la càrrega de la CPU, l'amplada de banda de la xarxa, etc.

Nota: Les instruccions d'instal·lació que es mostren aquí estan escrites en funció de la distribució Linux CentOS 7.5.

Instal·lació de paquets necessaris de Cacti a RHEL/CentOS/Fedora

En primer lloc, hem d'instal·lar els següents paquets de dependència un per un mitjançant l'eina de gestor de paquets per defecte, tal com es mostra.

# yum install httpd httpd-devel   [On RHEL/CentOS 7/6]
# dnf install httpd httpd-devel   [On RHEL/CentOS 8 and Fedora 30]
# yum install mysql mysql-server      [On RHEL/CentOS 6]

MariaDB és una bifurcació desenvolupada per la comunitat del projecte de base de dades MySQL i proporciona un substitut de MySQL. Anteriorment, la base de dades oficial compatible era MySQL sota RHEL/CentOS i Fedora.

Recentment, RedHat fa una nova transacció de MySQL a MariaDB, ja que MariaDB és la implementació predeterminada de MySQL a RHEL/CentOS 8/7 i Fedora 19 en endavant.

# yum install mariadb-server -y		[On RHEL/CentOS 7]
# dnf install mariadb-server -y         [On RHEL/CentOS 8 and Fedora 30]
# 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
# yum install php-snmp
OR
# dnf install php-snmp         
# yum install net-snmp-utils net-snmp-libs
OR
# dnf install net-snmp-utils net-snmp-libs
# yum install rrdtool
OR
# dnf install rrdtool

Mirant els serveis Apache, MySQL i SNMP

Un cop hàgiu instal·lat tots els programes necessaris per a la instal·lació de Cacti, anem a iniciar-los un a un mitjançant les ordres següents.

 service httpd start
 service mysqld start
 service snmpd start
 systemctl start httpd.service
 systemctl start mariadb.service
 systemctl start snmpd.service

Configureu els enllaços d'inici del sistema

Configuració dels serveis d'Apache, MySQL i SNMP per iniciar-se a l'arrencada.

 /sbin/chkconfig --levels 345 httpd on
 /sbin/chkconfig --levels 345 mysqld on
 /sbin/chkconfig --levels 345 snmpd on
 systemctl enable httpd.service
 systemctl enable mariadb.service
 systemctl enable snmpd.service

Instal·leu Cacti a RHEL/CentOS/Fedora

Aquí, heu d'instal·lar i habilitar el repositori EPEL. Un cop hàgiu habilitat el dipòsit, escriviu l'ordre següent per instal·lar l'aplicació Cacti.

# yum install cacti         [On RHEL/CentOS 7]
# dnf install cacti         [On RHEL/CentOS 8 and Fedora 30]

Configuració del servidor MySQL per a la instal·lació de Cacti

Hem de configurar MySQL per a Cacti, per fer-ho necessitem assegurar un servidor MySQL recentment instal·lat i després crearem la base de dades Cacti amb l'usuari Cacti. Si MySQL ja està instal·lat i assegurat, no cal que ho tornis a fer.

# mysql_secure_installation

Inicieu sessió al servidor MySQL amb una contrasenya acabada de crear i creeu una base de dades Cacti amb l'usuari Cacti i configureu-ne la contrasenya.

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

Esbrineu la ruta del fitxer de la base de dades mitjançant l'ordre RPM, per instal·lar taules de cacti a la base de dades Cacti de nova creació, utilitzeu l'ordre següent.

# rpm -ql cacti | grep cacti.sql
/usr/share/doc/cacti-1.2.6/cacti.sql
OR
/usr/share/doc/cacti/cacti.sql

Ara ja tenim la ubicació del fitxer Cacti.sql, escriviu l'ordre següent per instal·lar taules, aquí heu d'escriure la contrasenya d'usuari de Cacti.

 mysql -u cacti -p cacti < /usr/share/doc/cacti-0.8.8b/cacti.sql
Enter password:

Obriu el fitxer anomenat /etc/cacti/db.php amb qualsevol editor.

# vi /etc/cacti/db.php

Feu els canvis següents i deseu el fitxer. Assegureu-vos d'establir la contrasenya correctament.

/* 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ó del tallafoc per a Cacti

 iptables -A INPUT -p udp -m state --state NEW --dport 80 -j ACCEPT
 iptables -A INPUT -p tcp -m state --state NEW --dport 80 -j ACCEPT
 service iptables save
 firewall-cmd --permanent --zone=public --add-service=http
 firewall-cmd --reload

Configuració del servidor Apache per a la instal·lació de Cacti

Obriu el fitxer /etc/httpd/conf.d/cacti.conf amb l'editor que trieu.

# vi /etc/httpd/conf.d/cacti.conf

Heu d'habilitar l'accés a l'aplicació Cacti per a la vostra xarxa local o per nivell d'IP. Per exemple, hem habilitat l'accés a la nostra xarxa LAN local 172.16.16.0/20. En el teu cas, seria diferent.

Alias /cacti    /usr/share/cacti
 
<Directory /usr/share/cacti/>
        Order Deny,Allow
        Deny from all
        Allow from 172.16.16.0/20
</Directory>

A l'última versió d'Apache (p. ex.: Apache 2.4), potser haureu de canviar d'acord amb la configuració següent.

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>

Finalment, reinicieu el servei Apache.

 service httpd restart				[On RHEL/CentOS 6 and Fedora 18-12]
 systemctl restart httpd.service		[On RHEL/CentOS 8/7 and Fedora 19 onwards]

Configuració de Cron per a Cacti

Obriu el fitxer /etc/cron.d/cacti.

# vi /etc/cron.d/cacti

Descomenteu la línia següent. L'script poller.php s'executa cada 5 minuts i recull dades de l'amfitrió conegut que l'aplicació Cacti utilitza per mostrar gràfics.

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

S'està executant la configuració de l'instal·lador de Cacti

Finalment, Cacti està llest, només cal que aneu a http://YOUR-IP-HERE/cacti/ i seguiu les instruccions de l'instal·lador a través de les pantalles següents. Introduïu les dades d'inici de sessió predeterminades i premeu el botó Enter.

User: admin
Password: admin

A continuació, canvieu la contrasenya predeterminada de Cacti.

Accepteu l'acord de llicència de Cacti.

A continuació, la pantalla mostra Comprovacions prèvies a la instal·lació de Cacti, si us plau, corregiu la configuració suggerida al vostre fitxer /etc/php.ini com es mostra i reinicieu Apache després de fer canvis.

memory_limit = 800M
max_execution_time = 60
date.timezone = Asia/Kolkata

De la mateixa manera, també heu de concedir accés a la base de dades MySQL TimeZone per a l'usuari Cacti, de manera que la base de dades s'ompli amb informació global de TimeZone.

mysql> use mysql;
mysql> GRANT SELECT ON mysql.time_zone_name TO [email ;
mysql> flush privileges;

Si us plau, trieu el tipus d'instal·lació com a Instal·lació nova.

Assegureu-vos que tots els permisos de directoris següents siguin correctes abans de continuar.

Assegureu-vos que tots aquests valors d'ubicacions i versions binàries crítiques siguin correctes abans de continuar.

Si us plau, trieu el perfil de font de dades predeterminat que s'utilitzarà per a les fonts de sondeig.

Si us plau, trieu les plantilles de dispositiu que voleu utilitzar després de la instal·lació de Cacti.

Estableix la col·lació del servidor al fitxer de configuració de MySQL /etc/my.cnf a la secció [mysqld] tal com es mostra.

[mysqld]
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci

El vostre servidor Cacti està gairebé llest. Si us plau, confirmeu que esteu encantats de continuar.

Per obtenir més informació i ús, visiteu la pàgina Cacti.