Cacti è uno strumento di monitoraggio e rappresentazione grafica della rete gratuito e open source scritto in PHP. Con l'aiuto di RRDtool (strumento di database Round-Robin), Cacti può essere utilizzato per fornire varie utili funzioni, tra cui raccoglitori di dati remoti e locali, templating grafico, individuazione della rete, automazione della gestione dei dispositivi, ecc.
Prerequisiti
Passaggio 1: installare uno stack LAMP aggiornato
Prima di poter installare ed eseguire correttamente Cacti, è necessario impostare uno stack LAMP o un ambiente operativo Web equivalente.
Di seguito verrà impostato uno stack LAMP aggiornato per Cacti, che comprende CentOS 7, Apache 2.4, MariaDB 10.2 e PHP 7.1. Se vuoi saperne di più dettagli sullo stack LAMP, o utilizzare un altro stack, fai riferimento ad altri tutorial Vultr .
# Install Apache 2.4
sudo yum install httpd -y
sudo sed -i 's/^/#&/g' /etc/httpd/conf.d/welcome.conf
sudo sed -i "s/Options Indexes FollowSymLinks/Options FollowSymLinks/" /etc/httpd/conf/httpd.conf
sudo systemctl start httpd.service
sudo systemctl enable httpd.service
# Install MariaDB 10.2
curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash
sudo yum install MariaDB-server MariaDB-client -y
sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service
# Secure MariaDB 10.2
sudo /usr/bin/mysql_secure_installation
# When prompted, answer questions as below:
# - Enter current password for root (enter for none): Just press the Enter button
# - Set root password? [Y/n]: Y
# - New password: your-MariaDB-root-password
# - Re-enter new password: your-MariaDB-root-password
# - Remove anonymous users? [Y/n]: Y
# - Disallow root login remotely? [Y/n]: Y
# - Remove test database and access to it? [Y/n]: Y
# - Reload privilege tables now? [Y/n]: Y
# Create a MariaDB database for Cacti
mysql -u root -p
# For security purposes, be sure to replace "cacti", "cactiuser", and "yourpassword" with your own ones. 
CREATE DATABASE cacti;
CREATE USER 'cactiuser'@'localhost' IDENTIFIED BY 'yourpassword';
GRANT ALL PRIVILEGES ON cacti.* TO 'cactiuser'@'localhost' IDENTIFIED BY 'yourpassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;
# Install required PHP 7.1 components for Cacti
sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
sudo yum install -y mod_php71w php71w-process php71w-common php71w-pdo php71w-xml php71w-ldap php71w-mbstring php71w-gd php71w-snmp php71w-mysqlnd php71w-cli php71w-mcrypt php71w-opcache php71w-imap php71w-intl
sudo cp /etc/php.ini /etc/php.ini.bak
sudo sed -i 's#;date.timezone =#date.timezone = America/Los_Angeles#' /etc/php.ini
# Modify firewall rules
sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --reload
Passaggio 2: installare altre dipendenze richieste
Oltre a configurare un pratico stack LAMP, è necessario installare anche diverse dipendenze per Cacti come segue.
sudo yum install -y net-snmp net-snmp-utils rrdtool
sudo systemctl start snmpd.service
sudo systemctl enable snmpd.service
Passaggio 3: preparare i file e il database dei cactus
Scarica e decomprimi l'archivio Cacti 1.1.
cd
wget http://www.cacti.net/downloads/cacti-1.1.20.tar.gz
tar -zxvf cacti-1.1.20.tar.gz
Spostare i file Cacti in una posizione corretta, creare il logfile Cacti e quindi concedere loro le autorizzazioni appropriate.
sudo mv ~/cacti-1.1.20 /opt
sudo ln -s /opt/cacti-1.1.20 /var/www/html/cacti
sudo touch /opt/cacti-1.1.20/log/cacti.log
sudo chown -R apache:apache /opt/cacti-1.1.20
Importa le informazioni sul fuso orario e i dati dei cactus nel database MariaDB che abbiamo configurato in precedenza.
mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql
mysql -u root -p cacti < /var/www/html/cacti/cacti.sql
mysql -u root -p
# In the MySQL shell:
GRANT SELECT ON mysql.time_zone_name TO cactiuser@localhost IDENTIFIED BY 'yourpassword';
FLUSH PRIVILEGES;
EXIT;
Configura i parametri dei cactus.
Utilizzare l' vieditor per aprire il file di configurazione Cacti:
sudo vi /var/www/html/cacti/include/config.php
Assicurarsi che i parametri seguenti utilizzino i valori corretti.
$database_type     = 'mysql';
$database_default  = 'cacti';
$database_hostname = 'localhost';
$database_username = 'cactiuser';
$database_password = 'yourpassword';
$database_port     = '3306';
$database_ssl      = false;
$url_path = '/cacti/';
Salva ed esci.
:wq!
Imposta un cron job per Cacti.
sudo crontab -u apache -e
Popolare il file con:
*/5 * * * * php /var/www/html/cacti/poller.php > /dev/null 2>&1
Salva ed esci.
:wq!
Passaggio 4: configura un host virtuale Apache per Cacti
Per fare in modo che Apache serva Cacti, è necessario configurare un host virtuale Apache per Cacti come segue.
Nota: ricordarsi di modificare i valori di ServerAdmin, ServerNamee ServerAliassulla vostra macchina di conseguenza.
cat <<EOF | sudo tee -a /etc/httpd/conf.d/cacti.conf
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot /var/www/html/
ServerName cacti.example.com
ServerAlias www.cacti.example.com
<Directory /var/www/html/cacti/>
Options FollowSymLinks
AllowOverride All
Order allow,deny
allow from all
</Directory>
ErrorLog /var/log/httpd/cacti.example.com-error_log
CustomLog /var/log/httpd/cacti.example.com-access_log common
</VirtualHost>
EOF
Riavvia Apache per rendere effettive tutte le modifiche.
sudo systemctl restart httpd.service
Passaggio 5: aggiorna le impostazioni di MariaDB
Per fornire prestazioni migliori quando si utilizza Cacti, è necessario aggiornare diverse impostazioni di MariaDB con i valori consigliati.
Eseguire il backup del /etc/my.cnffile e quindi utilizzare l' vieditor per aprirlo:
sudo cp /etc/my.cnf /etc/my.cnf.bak
sudo vi /etc/my.cnf
Trova la linea [client-server]e aggiungi i contenuti come mostrato.
[client]
default-character-set=utf8mb4
[mysql]
default-character-set=utf8mb4
[mysqld]
collation-server=utf8mb4_unicode_ci
init-connect='SET NAMES utf8mb4'
character-set-server = utf8mb4
max_heap_table_size=64M
tmp_table_size=80M
join_buffer_size=80M
innodb_buffer_pool_size=256M
innodb_doublewrite=OFF
innodb_flush_log_at_timeout=3
innodb_read_io_threads=32
innodb_write_io_threads=16
Salva ed esci.
:wq!
Riavvia MariaDB per rendere effettive tutte le modifiche.
sudo systemctl restart mariadb.service
Passaggio 6: continuare l'installazione di Cacti utilizzando la procedura guidata di installazione di Cacti in un browser Web
Punta il tuo browser web preferito su http://203.0.113.1/cactie verrai portato Cacti Installation Wizardall'interfaccia.
Nella License Agreementpagina, selezionare l' Accept GPL License Agreementopzione, quindi fare clic sul Nextpulsante.
Nella Pre-installation Checkspagina, tutti i requisiti devono essere soddisfatti. Basta fare clic sul Nextpulsante per andare avanti.
Nella Installation Typepagina, selezionare l' New Primary Serveropzione, quindi fare clic sul Nextpulsante.
Nella Critical Binary Locations and Versionspagina, ignora l' Spine Binary File Locationerrore poiché non abbiamo installato affatto Spine. Basta fare clic sul Nextpulsante per andare avanti.
Nella Directory Permission Checkspagina, assicurarsi che tutte le directory specificate siano scrivibili, quindi fare clic sul Nextpulsante.
Nella Template Setuppagina, selezionare l' Local Linux Machineopzione, quindi fare clic sul Finishpulsante per completare l'installazione e passare all'interfaccia di accesso.
Al User Logindi interfaccia, utilizzare il nome utente admine la password predefinita admineffettuare il login.
Dopo aver effettuato l'accesso, ti verrà chiesto di cambiare immediatamente la password. Assicurati di fornire una password complessa che soddisfi tutti i requisiti richiesti.
Questo è tutto per l'installazione e la configurazione di Cactus. Successivamente, è necessario impostare RRDtool di conseguenza in modo che Cacti possa ottenere i dati necessari per la rappresentazione grafica.