Ricerca nel sito web

Installa Cacti (monitoraggio della rete) su RHEL/CentOS 8/7 e Fedora 30


Lo strumento Cacti è una soluzione grafica per il monitoraggio della rete e il monitoraggio del sistema open source basata sul Web per le aziende IT. I cactus consentono a un utente di interrogare i servizi a intervalli regolari per creare grafici sui dati risultanti utilizzando RRDtool. In genere, viene utilizzato per rappresentare graficamente dati di serie temporali di parametri quali utilizzo della larghezza di banda della rete, carico della CPU, processi in esecuzione, carico del disco spazio, ecc.

In questo tutorial, ti mostreremo come installare e configurare un'applicazione completa per il monitoraggio della rete chiamata Cacti utilizzando lo strumento Net-SNMP su RHEL, CentOS e Fedora che utilizzano i sistemi Strumento di gestione pacchetti YUM e DNF.

Pacchetti richiesti di cactus

Il Cacti richiedeva l'installazione dei seguenti pacchetti sui sistemi operativi Linux come RHEL/CentOS/Fedora.

  1. Apache: un server Web per visualizzare i grafici di rete creati da PHP e RRDTool.
  2. MySQL: un server database per archiviare informazioni sui cactus.
  3. PHP: un modulo di script per creare grafici utilizzando RRDTool.
  4. PHP-SNMP: un'estensione PHP per SNMP per accedere ai dati.
  5. NET-SNMP: per gestire la rete viene utilizzato un SNMP (Simple Network Management Protocol).
  6. RRDTool: uno strumento di database per gestire e recuperare dati di serie temporali come carico della CPU, larghezza di banda di rete, ecc.

Nota: le istruzioni di installazione mostrate qui sono scritte in base alla distribuzione Linux CentOS 7.5.

Installazione dei pacchetti richiesti per Cacti su RHEL/CentOS/Fedora

Innanzitutto, dobbiamo installare i seguenti pacchetti di dipendenze uno per uno utilizzando lo strumento di gestione pacchetti predefinito come mostrato.

Installa Apache

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

Installa MySQL

yum install mysql mysql-server      [On RHEL/CentOS 6]

MariaDB è un fork del progetto di database MySQL sviluppato dalla comunità e fornisce un sostituto per MySQL. In precedenza il database ufficiale supportato era MySQL sotto RHEL/CentOS e Fedora.

Recentemente, RedHat effettua una nuova transazione da MySQL a MariaDB, poiché MariaDB è l'implementazione predefinita di MySQL in RHEL/CentOS 8/7 e Fedora 19 in poi.

yum install mariadb-server -y		[On RHEL/CentOS 7]
dnf install mariadb-server -y         [On RHEL/CentOS 8 and Fedora 30]

Installa 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

Installa PHP-SNMP

yum install php-snmp
OR
dnf install php-snmp         

Installa NET-SNMP

yum install net-snmp-utils net-snmp-libs
OR
dnf install net-snmp-utils net-snmp-libs

Installa RRDTool

yum install rrdtool
OR
dnf install rrdtool

A partire dai servizi Apache, MySQL e SNMP

Una volta installati tutti i software richiesti per l'installazione di Cacti, avviateli uno per uno utilizzando i seguenti comandi.

Su RHEL/CentOS 6 e Fedora 18-12
[root@tecmint ~]# service httpd start
[root@tecmint ~]# service mysqld start
[root@tecmint ~]# service snmpd start
Su RHEL/CentOS 8/7 e Fedora 19 in poi
[root@tecmint ~]# systemctl start httpd.service
[root@tecmint ~]# systemctl start mariadb.service
[root@tecmint ~]# systemctl start snmpd.service

Configurare i collegamenti di avvio del sistema

Configurazione dei servizi Apache, MySQL e SNMP per l'avvio all'avvio.

Su RHEL/CentOS 6 e Fedora 18-12
[root@tecmint ~]# /sbin/chkconfig --levels 345 httpd on
[root@tecmint ~]# /sbin/chkconfig --levels 345 mysqld on
[root@tecmint ~]# /sbin/chkconfig --levels 345 snmpd on
Su RHEL/CentOS 8/7 e Fedora 19 in poi
[root@tecmint ~]# systemctl enable httpd.service
[root@tecmint ~]# systemctl enable mariadb.service
[root@tecmint ~]# systemctl enable snmpd.service

Installa Cacti su RHEL/CentOS/Fedora

Qui è necessario installare e abilitare il repository EPEL. Dopo aver abilitato il repository, digita il seguente comando per installare l'applicazione Cacti.

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

Configurazione di MySQL Server per l'installazione di Cacti

Dobbiamo configurare MySQL per Cacti, per fare questo dobbiamo proteggere un server MySQL appena installato e poi creeremo Cacti database con l'utente Cacti. Se MySQL è già installato e protetto, non è necessario farlo di nuovo.

mysql_secure_installation

Crea il database MySQL dei cactus

Accedi al server MySQL con una password appena creata e crea il database Cacti con l'utente Cacti e imposta la relativa password.

Su RHEL/CentOS 6 e Fedora 18-12
[root@tecmint ~]# 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 cacti@localhost 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
Su RHEL/CentOS 8/7 e Fedora 19 in poi
[root@tecmint ~]# 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 cacti@localhost 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

Installa le tabelle Cactus su MySQL

Scopri il percorso del file del database utilizzando il comando RPM, per installare le tabelle dei cactus nel database Cacti appena creato, utilizza il seguente comando.

rpm -ql cacti | grep cacti.sql
Output di esempio:
/usr/share/doc/cacti-1.2.6/cacti.sql
OR
/usr/share/doc/cacti/cacti.sql

Ora che conosciamo la posizione del file Cacti.sql, digita il seguente comando per installare le tabelle, qui devi digitare la password dell'utente Cacti.

[root@tecmint ~]# mysql -u cacti -p cacti < /usr/share/doc/cacti-0.8.8b/cacti.sql
Enter password:

Configura le impostazioni MySQL per Cactus

Apri il file chiamato /etc/cacti/db.php con qualsiasi editor.

vi /etc/cacti/db.php

Apportare le seguenti modifiche e salvare il file. Assicurati di impostare la password correttamente.

/* 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;

Configurazione del firewall per Cactus

Su RHEL/CentOS 6 e Fedora 18-12
[root@tecmint ~]# iptables -A INPUT -p udp -m state --state NEW --dport 80 -j ACCEPT
[root@tecmint ~]# iptables -A INPUT -p tcp -m state --state NEW --dport 80 -j ACCEPT
[root@tecmint ~]# service iptables save
Su RHEL/CentOS 8/7 e Fedora 19 in poi
[root@tecmint ~]# firewall-cmd --permanent --zone=public --add-service=http
[root@tecmint ~]# firewall-cmd --reload

Configurazione del server Apache per l'installazione di Cacti

Apri il file chiamato /etc/httpd/conf.d/cacti.conf con l'editor che preferisci.

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

Devi abilitare l'accesso all'applicazione Cacti per la tua rete locale o per livello IP. Ad esempio, abbiamo abilitato l'accesso alla nostra rete LAN locale 172.16.16.0/20. Nel tuo caso sarebbe diverso.

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

Nell'ultima versione di Apache (es: Apache 2.4), potrebbe essere necessario modificare in base alle seguenti impostazioni.

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>

Infine, riavvia il servizio Apache.

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

Impostazione Cron per cactus

Apri il file /etc/cron.d/cacti.

vi /etc/cron.d/cacti

Decommenta la riga seguente. Lo script poller.php viene eseguito ogni 5 minuti e raccoglie dati di host conosciuti che vengono utilizzati dall'applicazione Cacti per visualizzare i grafici.

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

Esecuzione della configurazione del programma di installazione di Cacti

Finalmente Cacti è pronto, basta andare su http://IL TUO-IP-QUI/cacti/ e seguire le istruzioni di installazione attraverso le seguenti schermate. Inserisci i dettagli di accesso predefiniti e premi il pulsante Invio.

User: admin
Password: admin

Successivamente, modifica la password Cactus predefinita.

Accetta il contratto di licenza di Cactus.

Successivamente, la schermata mostra i controlli pre-installazione per l'installazione di Cacti, correggi le impostazioni suggerite nel tuo file /etc/php.ini come mostrato e riavvia Apache dopo aver apportato le modifiche.

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

Allo stesso modo, è necessario concedere l'accesso al database MySQL TimeZone all'utente Cacti, in modo che il database venga popolato con informazioni globali sul fuso orario.

mysql> use mysql;
mysql> GRANT SELECT ON mysql.time_zone_name TO cacti@localhost;
mysql> flush privileges;

Scegli il tipo di installazione come "Nuova installazione".

Assicurati che tutte le seguenti autorizzazioni per la directory siano corrette prima di continuare.

Assicurati che tutti questi valori di Posizioni e versioni binarie critiche siano corretti prima di continuare.

Scegli il profilo origine dati predefinito da utilizzare per le origini polling.

Scegli i Modelli dispositivo che desideri utilizzare dopo l'installazione di Cacti.

Imposta Server Collation nel file di configurazione MySQL /etc/my.cnf nella sezione [mysqld] come mostrato.

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

Il tuo server Cactus è quasi pronto. Conferma che sei disposto a procedere.

Per ulteriori informazioni e utilizzo, visitare la pagina Cactus.