Ricerca nel sito web

Come installare Cacti con Cacti-Spine in Debian e Ubuntu


In questo tutorial impareremo come installare e configurare lo strumento di monitoraggio della rete Cacti nell'ultima versione di Debian e Ubuntu 16.04 LTS. Cactus verrà creato e installato dai file sorgente durante questa guida.

Cacti è uno strumento di monitoraggio open source creato per monitorare le reti, in particolare i dispositivi di rete, come switch, router, server tramite protocollo SNMP. Cacti interagisce con gli utenti finali e può essere amministrato tramite un'interfaccia di strumenti web.

Requisiti

  1. Stack LAMP installato in Debian 9
  2. Stack LAMP installato in Ubuntu 16.04 LTS

Passaggio 1: installare e configurare i prerequisiti per Cacti

1. In Debian 9, aprire il file dell'elenco delle fonti per la modifica e aggiungere i repository contrib e non-free a il file modificando le seguenti righe:

nano /etc/apt/sources.list

Aggiungi le seguenti righe al file sources.list.

deb http://ftp.ro.debian.org/debian/ stretch main contrib non-free
deb-src http://ftp.ro.debian.org/debian/ stretch main

deb http://security.debian.org/debian-security stretch/updates main contrib non-free
deb-src http://security.debian.org/debian-security stretch/updates main

2. Successivamente, assicurati di aggiornare il sistema emettendo il comando seguente.

apt update
apt upgrade

3. Nel tuo stack LAMP assicurati che le seguenti estensioni PHP siano presenti nel sistema.

apt install php7.0-snmp php7.0-xml php7.0-mbstring php7.0-json php7.0-gd php7.0-gmp php7.0-zip php7.0-ldap php7.0-mcrypt

4. Successivamente, modifica il file di configurazione PHP e cambia l'impostazione del fuso orario in modo che corrisponda alla posizione fisica del tuo server, emettendo il comando seguente.

echo "date.timezone = Europe/Bucharest" >> /etc/php/7.0/apache2/php.ini 

5. Successivamente, accedi al database MariaDB o MySQL dall'installazione dello stack LAMP e crea un database per l'installazione di Cacti impartendo i seguenti comandi.

Sostituisci il nome, l'utente e la password del database dei cactus in modo che corrispondano alle tue configurazioni e scegli una password complessa per il database dei cactus.

mysql -u root -p
mysql> create database cacti;
mysql> grant all on cacti.* to 'cactiuser'@'localhost' identified by 'password1';
mysql> flush privileges;
mysql> exit

6. Inoltre, esegui i comandi seguenti per consentire all'utente cactus di selezionare le autorizzazioni per l'impostazione data.timezone di MySQL immettendo i comandi seguenti.

mysql -u root -p mysql < /usr/share/mysql/mysql_test_data_timezone.sql 
mysql -u root -p -e 'grant select on mysql.time_zone_name to cactiuser@localhost'

7. Successivamente, apri il file di configurazione del server MySQL e aggiungi le seguenti righe alla fine del file.

nano /etc/mysql/mariadb.conf.d/50-server.cnf [For MariaDB]
nano /etc/mysql/mysql.conf.d/mysqld.cnf      [For MySQL] 

Aggiungi le seguenti righe alla fine del file 50-server.cnf o mysqld.cnf.

max_heap_table_size		= 98M
tmp_table_size			= 64M
join_buffer_size		= 64M
innodb_buffer_pool_size	= 485M
innodb_doublewrite		= off
innodb_flush_log_at_timeout	= 3
innodb_read_io_threads	= 32
innodb_write_io_threads	= 16

Per il database MariaDB aggiungi anche la seguente riga alla fine del file 50-server.cnf:

innodb_additional_mem_pool_size	= 80M

8. Infine, riavvia i servizi MySQL e Apache per applicare tutte le impostazioni e verificare lo stato di entrambi i servizi emettendo i seguenti comandi.

systemctl restart mysql apache2
systemctl status mysql apache2

Passaggio 2: scaricare e preparare l'installazione di Cacti

9. Inizia l'installazione di Cacti dai sorgenti scaricando ed estraendo l'ultima versione dell'archivio Cacti e copia tutti i file di estrazione nella root del documento web Apache, emettendo i seguenti comandi.

wget https://www.cacti.net/downloads/cacti-latest.tar.gz
tar xfz cacti-latest.tar.gz 
cp -rf cacti-1.1.27/* /var/www/html/

10. Rimuovi il file index.html dalla directory /var/www/html, crea il file di registro Cacti e concedi ad Apache i permessi di scrittura sul web percorso radice.

rm /var/www/html/index.html
touch /var/www/html/log/cacti.log
chown -R www-data:www-data /var/www/html/

11. Successivamente, modifica il file di configurazione dei cactus e modifica le seguenti righe come mostrato nell'esempio seguente.

nano /var/www/html/include/config.php

Esempio di file config.php Cactus. Sostituisci di conseguenza il nome, l'utente e la password del database dei cactus.

$database_type     = 'mysql';
$database_default  = 'cacti';
$database_hostname = 'localhost';
$database_username = 'cactiuser';
$database_password = 'password1;
$database_port     = '3306';
$database_ssl      = false;
$url_path = '/';

12. Successivamente, compila il database dei cactus con lo script cacti.sql dalla directory /var/www/html/ immettendo il comando seguente.

mysql -u cactiuser cacti -p < /var/www/html/cacti.sql 

13. Ora installa alcune risorse aggiuntive, poiché il motore Cacti raccoglie i dati dei dispositivi tramite il protocollo SNMP e visualizza la grafica utilizzando RRDtool. Installali tutti emettendo il seguente comando.

apt install snmp snmpd snmp-mibs-downloader rrdtool

14. Verifica se il servizio SNMP è attivo e funzionante riavviando il demone snmpd immettendo il comando seguente. Controlla anche lo stato del demone snmpd e le sue porte aperte.

systemctl restart snmpd.service 
systemctl status snmpd.service
ss -tulpn| grep snmp

Passaggio 3: scarica e installa Cacti-Spine

15. Cacti-Spine è un sostituto scritto in C per il poller cmd.php predefinito. Cacti-Spine fornisce tempi di esecuzione più rapidi. Per compilare il pooler Cacti-Spine dai sorgenti, installa le dipendenze richieste di seguito nel tuo sistema.

---------------- On Debian 9 ---------------- 
apt install build-essential dos2unix dh-autoreconf help2man libssl-dev libmysql++-dev librrds-perl libsnmp-dev libmariadb-dev libmariadbclient-dev

---------------- On Ubuntu ---------------- 
apt install build-essential dos2unix dh-autoreconf help2man libssl-dev libmysql++-dev  librrds-perl libsnmp-dev libmysqlclient-dev libmysqld-dev  

16. Dopo aver installato le dipendenze di cui sopra, scarica l'ultima versione dell'archivio Cacti-Spine, estrai il file tar e compila cacti-spine immettendo la seguente serie di comandi .

wget https://www.cacti.net/downloads/spine/cacti-spine-latest.tar.gz
tar xfz cacti-spine-latest.tar.gz 
cd cacti-spine-1.1.27/

17. Compila e installa Cacti-Spine dai sorgenti emettendo i seguenti comandi.

./bootstrap 
./configure 
make
make install

18. Successivamente, assicurati che il file binario di spine sia di proprietà dell'account root e imposta il bit suid per l'utilità spine eseguendo i seguenti comandi.

chown root:root /usr/local/spine/bin/spine 
chmod +s /usr/local/spine/bin/spine

19. Ora modifica il file di configurazione di Cacti Spine e aggiungi il nome, l'utente e la password del database dei cactus al file conf di Spine come illustrato nell'esempio seguente.

nano /usr/local/spine/etc/spine.conf

Aggiungi la seguente configurazione al file spine.conf.

DB_Host localhost
DB_Database cacti
DB_User cactiuser
DB_Pass password1
DB_Port 3306
DB_PreG 0

Passaggio 4: configurazione guidata dell'installazione di Cactus

20. Per installare Cacti, apri un browser e accedi all'indirizzo IP o al nome di dominio del tuo sistema al seguente URL.

http://your_IP/install

Innanzitutto, seleziona Accetta il contratto di licenza e premi il pulsante Avanti per continuare.

21. Successivamente, controlla i requisiti di sistema e premi il pulsante Avanti per continuare.

22. Nella finestra successiva, seleziona Nuovo server primario e premi il pulsante Avanti per continuare.

23. Successivamente, verifica le posizioni e le versioni binarie critiche e modifica il percorso binario di Spine in /usr/local/spine/bin/spine. Al termine, premi il pulsante Avanti per continuare.

24. Successivamente, controlla se tutte le autorizzazioni per la directory del server web sono impostate (le autorizzazioni di scrittura sono impostate) e premi il pulsante Avanti per continuare.

25. Nel passaggio successivo controlla tutti i modelli e premi il pulsante Fine per completare il processo di installazione.

26. Accedi all'interfaccia web di Cacti con le credenziali predefinite mostrate di seguito e modifica la password dell'amministratore, come illustrato negli screenshot seguenti.

Username: admin
Password: admin

27. Successivamente, vai su Console -> Configurazione -> Impostazioni -> Poller e modifica il Tipo di poller da cmd.php< al binario Spine e scorri verso il basso fino al pulsante Salva per salvare la configurazione.

28. Quindi, vai su Console -> Configurazione -> Impostazioni -> Percorsi e aggiungi il seguente percorso al file di configurazione Cacti-Spine:

/usr/local/spine/etc/spine.conf 

Premi il pulsante Salva per applicare la configurazione.

29. La configurazione finale che consente a Cacti poller di iniziare a raccogliere dati dai dispositivi monitorati consiste nell'aggiungere una nuova attività crontab per interrogare ciascun dispositivo tramite SNMP ogni 5 minuti.

Il lavoro crontab deve essere di proprietà dell'account www-data.

crontab -u www-data -e

Aggiungi la voce del file Cron:

*/5 * * * * /usr/bin/php /var/www/html/poller.php

30. Attendi qualche minuto affinché Cacti raccolga i dati e vai a Grafici -> Albero predefinito e dovresti vedere i grafici raccolti per i tuoi dispositivi monitorati.

È tutto! Hai installato e configurato con successo Cacti con il pooler Cacti-Spine, dai sorgenti, nell'ultima versione di Debian 9 e Ubuntu 16.04 server LTS.