Come installare Cacti Monitoring Server su CentOS 8
Questo tutorial esiste per queste versioni del sistema operativo
- CentOS 8
- CentOS 7
Su questa pagina
- Prerequisiti
- Per iniziare
- Installa il server LAMP
- Configura database MariaDB
- Installa e configura Cacti
- Configura Apache per Cacti
- Configura Firewall e SELinux
- Accedi all'interfaccia Web di Cacti
- Conclusione
Cacti è uno strumento gratuito, open source e potente basato sul web per il monitoraggio e la rappresentazione grafica della rete. Viene utilizzato per monitorare le prestazioni del sistema, il carico della CPU e l'utilizzo della larghezza di banda della rete in un formato grafico. Consente di eseguire il polling dei servizi a intervalli prestabiliti e di rappresentare graficamente i dati risultanti. È un frontend completo per RRDTool, scritto in PHP e utilizza il database MySQL per memorizzare tutte le informazioni necessarie.
In questo tutorial, spiegheremo come installare lo strumento di monitoraggio Cacti su CentOS 8.
Prerequisiti
- Un server che esegue CentOS 8 con almeno 2 GB di RAM.
- Il server è configurato con una password di root.
Iniziare
Innanzitutto, si consiglia di aggiornare i pacchetti di sistema all'ultima versione. Puoi aggiornarli con il seguente comando:
dnf update -y
Una volta aggiornati tutti i pacchetti, installa le altre dipendenze richieste per Cacti con il seguente comando:
dnf install net-snmp net-snmp-utils net-snmp-libs rrdtool -y
Dopo aver installato tutte le dipendenze, avviare il servizio SNMP e abilitarlo all'avvio con il seguente comando:
systemctl start snmpd
systemctl enable snmpd
Al termine, puoi procedere al passaggio successivo.
Installa LAMP Server
Successivamente, dovrai installare il server Web Apache, il server del database MariaDB, PHP e altre estensioni PHP necessarie sul tuo sistema. Puoi installarli tutti con il seguente comando:
dnf install httpd mariadb-server php php-xml php-session php-sockets php-ldap php-gd php-json php-mysqlnd php-gmp php-mbstring php-posix php-snmp php-intl -y
Una volta installati tutti i pacchetti, avviare il servizio HTTP e MariaDB e abilitarli all'avvio all'avvio con il seguente comando:
systemctl start httpd
systemctl start mariadb
systemctl enable httpd
systemctl enable mariadb
Successivamente, dovrai modificare il file php.ini e apportare alcune modifiche:
nano /etc/php.ini
date.timezone = Asia/Kolkata memory_limit = 512M max_execution_style = 60
Una volta terminato, puoi procedere al passaggio successivo.
Configura database MariaDB
Successivamente, dovrai creare un database e un utente per Cacti. Innanzitutto, accedi alla shell MariaDB con il seguente comando:
mysql
Una volta effettuato il login, crea un database e un utente per Cacti con il seguente comando:
MariaDB [(none)]> create database cactidb;
MariaDB [(none)]> GRANT ALL ON cactidb.* TO IDENTIFIED BY 'password';
Successivamente, svuota i privilegi ed esci dalla shell MariaDB con il seguente comando:
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> exit;
Successivamente, dovrai modificare il file di configurazione di MariaDB e modificare alcune impostazioni. Puoi farlo modificando il file /etc/my.cnf.d/mariadb-server.cnf.
nano /etc/my.cnf.d/mariadb-server.cnf
Aggiungi le seguenti righe all'interno della sezione [mysqld]:
collation-server=utf8mb4_unicode_ci character-set-server=utf8mb4 max_heap_table_size=32M tmp_table_size=32M join_buffer_size=64M # 25% Of Total System Memory innodb_buffer_pool_size=1GB # pool_size/128 for less than 1GB of memory innodb_buffer_pool_instances=10 innodb_flush_log_at_timeout=3 innodb_read_io_threads=32 innodb_write_io_threads=16 innodb_io_capacity=5000 innodb_file_format=Barracuda innodb_large_prefix=1 innodb_io_capacity_max=10000
Salva e chiudi il file quando hai finito, quindi riavvia il servizio MariaDB per applicare le modifiche:
systemctl restart mariadb
Successivamente, importa mysql_test_data_timezone.sql nel database mysql con il seguente comando:
mysql -u root -p mysql < /usr/share/mariadb/mysql_test_data_timezone.sql
Successivamente, accedi a MySQL e concedi all'utente cactus di accedere alla tabella mysql.time_zone_name:
mysql
Una volta effettuato l'accesso, eseguire il seguente comando per concedere l'accesso:
MariaDB [(none)]> GRANT SELECT ON mysql.time_zone_name TO ;
Successivamente, svuota i privilegi ed esci dalla shell MariaDB con il seguente comando:
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> exit;
Una volta terminato, puoi procedere al passaggio successivo.
Installa e configura cactus
Per impostazione predefinita, Cacti non è disponibile nel repository predefinito di CentOS 8. Quindi dovrai aggiungere il repository EPEL al tuo sistema.
Puoi installarlo con il seguente comando:
dnf install epel-release -y
Una volta installato il repository, installa Cacti con il seguente comando:
dnf install cacti -y
Dopo aver installato Cacti, controlla l'installazione di Cacti con il seguente comando:
rpm -qi cacti
Dovresti ottenere il seguente output:
Name : cacti Version : 1.2.14 Release : 1.el8 Architecture: noarch Install Date: Wednesday 07 October 2020 01:04:02 AM EDT Group : Unspecified Size : 56217780 License : GPLv2+ Signature : RSA/SHA256, Thursday 06 August 2020 05:06:22 AM EDT, Key ID 21ea45ab2f86d6a1 Source RPM : cacti-1.2.14-1.el8.src.rpm Build Date : Thursday 06 August 2020 04:54:10 AM EDT Build Host : buildvm-a64-27.iad2.fedoraproject.org Relocations : (not relocatable) Packager : Fedora Project Vendor : Fedora Project URL : https://www.cacti.net/ Bug URL : https://bugz.fedoraproject.org/cacti Summary : An rrd based graphing tool Description : Cacti is a complete frontend to RRDTool. It stores all of the necessary information to create graphs and populate them with data in a MySQL database. The frontend is completely PHP driven.
Successivamente, importa i dati Cacti nel database Cacti con il seguente comando:
mysql -u root -p cactidb < /usr/share/doc/cacti/cacti.sql
Successivamente, modifica il file di configurazione di Cacti e definisci le impostazioni del database:
nano /usr/share/cacti/include/config.php
Modifica le seguenti righe che corrispondono al tuo database:
$database_type = 'mysql'; $database_default = 'cactidb'; $database_hostname = 'localhost'; $database_username = 'cacti'; $database_password = 'password'; $database_port = '3306'; $database_retries = 5; $database_ssl = false;
Salva e chiudi il file quando hai finito, quindi crea un file Cron per Cacti.
nano /etc/cron.d/cacti
Aggiungi la seguente riga:
*/5 * * * * apache /usr/bin/php /usr/share/cacti/poller.php > /dev/null 2>&1
Salva e chiudi il file quando hai finito.
Una volta terminato, puoi procedere al passaggio successivo.
Configura Apache per Cacti
Successivamente, dovrai creare un file di configurazione dell'host virtuale Apache per Cacti. Puoi crearlo con il seguente comando:
nano /etc/httpd/conf.d/cacti.conf
Trova le seguenti righe:
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>
E, sostituiscili con le seguenti righe:
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>
Salva e chiudi il file quando hai finito, quindi riavvia il servizio Apache e PHP-FPM per applicare le modifiche:
systemctl restart httpd
systemctl restart php-fpm
Puoi anche controllare lo stato di Apache con il seguente comando:
systemctl status httpd
Dovresti ottenere il seguente output:
? httpd.service - The Apache HTTP Server Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled) Drop-In: /usr/lib/systemd/system/httpd.service.d ??php-fpm.conf Active: active (running) since Wed 2020-10-07 01:10:35 EDT; 58s ago Docs: man:httpd.service(8) Main PID: 5159 (httpd) Status: "Running, listening on: port 80" Tasks: 213 (limit: 12523) Memory: 28.7M CGroup: /system.slice/httpd.service ??5159 /usr/sbin/httpd -DFOREGROUND ??5161 /usr/sbin/httpd -DFOREGROUND ??5162 /usr/sbin/httpd -DFOREGROUND ??5163 /usr/sbin/httpd -DFOREGROUND ??5164 /usr/sbin/httpd -DFOREGROUND Oct 07 01:10:35 centos8 systemd[1]: Stopped The Apache HTTP Server. Oct 07 01:10:35 centos8 systemd[1]: Starting The Apache HTTP Server... Oct 07 01:10:35 centos8 httpd[5159]: AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using fe80::200:45> Oct 07 01:10:35 centos8 systemd[1]: Started The Apache HTTP Server. Oct 07 01:10:35 centos8 httpd[5159]: Server configured, listening on: port 80
A questo punto, il web server Apache è configurato per servire Cacti. Ora puoi procedere al passaggio successivo.
Configura Firewall e SELinux
Successivamente, dovrai consentire i servizi http e https attraverso il firewalld. Puoi consentirli con il seguente comando:
firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --reload
Successivamente, dovrai anche disabilitare SELinux nel tuo sistema.
Puoi disabilitare SELinux modificando il file /etc/selinux/config:
nano /etc/selinux/config
Trova la seguente riga:
SELINUX=enforcing
E sostituirlo con la seguente riga:
SELINUX=permissive
Salva e chiudi il file, quindi riavvia il sistema per applicare le modifiche.
Accedi all'interfaccia web di cactus
Ora, apri il tuo browser web e accedi all'interfaccia web di Cacti usando l'URL http://your-server-ip/cacti. Verrai reindirizzato alla pagina di accesso di Cacti:
Fornisci nome utente e password predefiniti come admin/admin, quindi fai clic sul pulsante Accedi. Dovresti vedere la schermata di modifica della password Cacti:
Fornire la password predefinita, la nuova password e fare clic sul pulsante Salva. Dovresti vedere la pagina del contratto di licenza Cacti:
Accetta il contratto di licenza e fai clic sul pulsante Inizia. Dovresti vedere la pagina di controllo pre-installazione:
Assicurati che tutti i pacchetti siano installati, quindi fai clic sul pulsante Avanti. Dovresti vedere la seguente pagina:
Selezionare il tipo di installazione e fare clic sul pulsante Avanti. Dovresti vedere la pagina di controllo dei permessi della directory:
Fare clic sul pulsante Avanti. Dovresti vedere la pagina seguente.
Fare clic sul pulsante Avanti. Dovresti vedere la pagina di convalida dell'input:
Seleziona la casella di controllo e fai clic sul pulsante Avanti. Dovresti vedere la pagina del profilo:
Fornisci il tuo intervallo di rete e fai clic sul pulsante Avanti. Dovresti vedere la pagina di configurazione del modello:
Seleziona il modello richiesto e fai clic sul pulsante Avanti. Dovresti vedere la seguente pagina:
Successivamente, apri il tuo terminale, accedi alla shell MySQL e modifica il set di caratteri eseguendo il seguente comando:
MariaDB [(none)]> ALTER DATABASE cactidb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> exit;
Quindi, torna alla procedura guidata di installazione di Cacti e fai clic sul pulsante Avanti. Dovresti vedere la seguente pagina:
Confermare l'installazione e fare clic sul pulsante Installa. Una volta terminata l'installazione, dovresti vedere la seguente pagina:
Fare clic sul pulsante Inizia. Dovresti vedere la dashboard Cacti nella pagina seguente:
Fare clic su Grafici => Macchina Linux locale. Dovresti vedere le informazioni sulla tua macchina locale nella pagina seguente:
Conclusione
Congratulazioni! hai installato e configurato correttamente lo strumento di monitoraggio della rete Cacti su Ubuntu 20.04. È ora possibile installare l'agente Cacti sulla macchina client e aggiungerli al server Cacti e avviare il monitoraggio. Non esitate a chiedermi se avete domande.