Cacti è uno strumento di monitoraggio della rete basato sul Web open source progettato come applicazione front-end per RRDtool (Round-Robin Database tool), consente a un utente di eseguire il polling dei servizi in un intervallo di tempo e di ottenere il formato grafico.
Cacti viene utilizzato per ottenere dati grafici per l'utilizzo della CPU e della larghezza di banda della rete, monitora il traffico di rete eseguendo il polling di un router o di uno switch tramite SNMP.
Qui vedremo come installare Cacti su CentOS 7 / RHEL 7.
Prerequisiti
Imposta il repository EPEL
Imposta solo il repository EPEL CentOS 7 / RHEL 7.
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
Installa SNMP
Installa SNMP e RRDTool.
yum -y install net-snmp net-snmp-utils net-snmp-libs rrdtool
Installa estensioni PHP e PHP
La versione PHP disponibile nel repository del sistema operativo di base ha già raggiunto la fine del ciclo di vita e per l'installazione di Cacti potrebbe essere necessario passare a PHP v7.2+.
Quindi, useremo il repository Remi per installare PHP 7.x.
LEGGI: Come installare PHP 7.3/7.2 su 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
Installa MariaDB
Il pacchetto MariaDB (v5.4) disponibile nel repository del sistema operativo di base non soddisfa i requisiti minimi di Cacti poiché Cacti richiede MariaDB v5.6+ o MariaDB v10+ per l'installazione. Quindi, installa l'ultima versione di MariaDB disponibile dal sito Web ufficiale della community di MariaDB.
LEGGI: Come installare MariaDB su CentOS 7 / RHEL 7
Puoi anche installare MySQL 8 su CentOS 7 / RHEL 7 come database per l'installazione di 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
Installa il server MariaDB usando il seguente comando.
yum install -y MariaDB-server MariaDB-client
Ottimizzazione del database
Cacti consiglia di modificare le impostazioni di MariaDB per prestazioni migliori. Modifica il file di configurazione di MariaDB.
vi /etc/my.cnf.d/server.cnf
Aggiungi variabili nella sezione [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
Avvia e abilita i servizi
Avvia i seguenti servizi.
systemctl start httpd snmpd mariadb
Abilita l'avvio automatico dei servizi all'avvio del sistema.
systemctl enable httpd snmpd mariadb
Crea database
Se stai configurando MySQL per la prima volta; dai un'occhiata a come proteggere MariaDB.
Crea un database per l'installazione di Cacti.
mysql -u root -p
Crea un database per Cacti.
create database cacti;
Concedi l'autorizzazione al database appena creato.
GRANT ALL ON cacti.* TO cactiuser@localhost IDENTIFIED BY 'cactipassword'; flush privileges; exit
L'utente del database appena creato (cactiuser ) dovrebbe avere accesso alla tabella mysql.time_zone_name. Per farlo, importa prima mysql_test_data_timezone.sql nel database mysql.
mysql -u root -p mysql < /usr/share/mysql/mysql_test_data_timezone.sql
Quindi, accedi a MySQL.
mysql -u root -p
Concedi il permesso a cactiuser.
GRANT SELECT ON mysql.time_zone_name TO cactiuser@localhost; flush privileges; exit
Installa Cactus
Usa il comando yum su CentOS/RHEL per installare il pacchetto Cacti.
yum -y install cacti
Importa il database predefinito nel database dei cactus.
mysql cacti < /usr/share/doc/cacti-*/cacti.sql -u root -p
Modifica il file di configurazione per specificare le informazioni su tipo di database, nome, nome host, utente e password.
vi /usr/share/cacti/include/config.php
Apporta le modifiche di conseguenza.
/* 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;
Modifica il file crontab.
vi /etc/cron.d/cacti
Decommenta la voce seguente per eseguire il sondaggio ogni cinque minuti.
*/5 * * * * apache /usr/bin/php /usr/share/cacti/poller.php > /dev/null 2>&1
Imposta il fuso orario modificando il file /etc/php.ini.
vi /etc/php.ini
Aggiorna il fuso orario.
date.timezone = US/Central memory_limit = 512M max_execution_time = 60
Modifica il file di configurazione di Apache per eseguire l'installazione remota.
vi /etc/httpd/conf.d/cacti.conf
Modifica la prima stanza di directory, da Richiedi 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>
Richiedere tutto concesso.
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>
Riavvia i servizi.
systemctl restart httpd
Firewall
Configura il firewall per consentire il servizio HTTP.
firewall-cmd --permanent --add-service=http firewall-cmd --reload
SELinux
Imposta il contesto SELinux per i log Cacti.
yum install -y policycoreutils-python semanage fcontext -a -t httpd_sys_rw_content_t "/var/log/cacti(/.*)?" restorecon -Rv /var/log/cacti/Se ancora non riesci a far funzionare correttamente Cacti, considera di disabilitare permanentemente SELinux. Per disabilitare temporaneamente SELinux, esegui il seguente comando nel terminale.
setenforce 0
Imposta Cactus
Visita il seguente URL per avviare l'installazione di cactus.
http://il-tuo-indirizzo-ip/cactiAccedi a Cacti per configurare l'installazione di Cacti.
Nome utente: amministratore
Password: amministratore
È necessario modificare la password dell'utente amministratore di Cacti prima di configurare Cacti.
Accetta il contratto di licenza in questa pagina e quindi fai clic su Avanti per continuare.
Cacti esegue i controlli pre-installazione per l'installazione di Cacti. È necessario risolvere i problemi se la procedura guidata di installazione segnala.
Passa al passaggio successivo facendo clic sul pulsante Avanti situato nella parte inferiore destra della pagina.
Seleziona Nuovo server primario o la nuova installazione, quindi fai clic su Avanti.
Questo passaggio verifica e segnala i problemi di autorizzazione che potresti avere nella directory di installazione di Cacti.
Ti mostrerà se manca un pacco, che è obbligatorio per i cactus.
Fai clic su Avanti nella pagina del profilo predefinito poiché abbiamo già configurato cron per eseguire il polling ogni cinque minuti.
Seleziona tutti i modelli e fai clic su Fine per completare l'installazione di Cacti.
Fare clic su Avanti nella pagina di riepilogo del test finale.
Seleziona Conferma installazione e premi Installa per iniziare l'installazione di Cacti.
Attendi il completamento dell'installazione.
In un minuto o due, l'installazione di Cacti sarà completata.
Facendo clic su Inizia nella pagina sopra, verrai indirizzato direttamente alla dashboard di Cacti. Altrimenti, puoi accedere a Cacti con il nome utente e la password che hai impostato durante l'installazione di Cacti.
Accedi ai cactus
Inserisci il nome utente e la password per accedere a Cacti.
Nome utente: amministratorePassword:
Dashboard Cactus:
Per impostazione predefinita, la macchina locale (il tuo server Cacti) verrà aggiunta per il monitoraggio in Cacti. Puoi andare a Grafici>> Albero predefinito>> Macchina Linux locale per vedere il grafico di utilizzo del server Cacti.
Conclusione
È tutto. Spero che tu abbia imparato come installare Cacti su CenOS 7 / RHEL 7. Ora puoi controllare come monitorare macchine Linux remote con lo strumento di monitoraggio Cacti. Condividi il tuo feedback nella sezione commenti.