Cacti è un WEB frontend a RRDTool. Genera grafici molto dettagliati sulle performance di tutti i dispositivi configurati all’intero della nostra rete. Un ottimo tool se vogliamo monitorare tutti i Serevr o dispositivi annessi all nostra Rete. Diventa al quanto importante se affinacato al software di monitoraggio per eccellenza “Nagios“. In questo articolo vedremo come installarlo e configurarlo su ArchLinux, e come inserire il nostro primo devices generando i primi grafici.
Prerequisiti
- Aver installato Linux Apache Mysql Php (qui la GUIDA)
Installazione
Cacti è reperibile direttamente dai repository Community e installabile con il comando:
$ sudo pacman -Sy cacti
Completata l’installazione copiamo il contenuto della directory di default nella DocumentRoot di apache. Supponendo di aver lasciato la DocumentRoot in /srv/http lanciamo il comando:
$ sudo cp -Rvp /usr/share/webapps/cacti/ /srv/http/
una volta copiati i file installiamo il pacchetto php-snmp e net-snmp con il comando:
$ pacman -S php-snmp net-snmp
al termine dell’installazione editiamo il file php.ini con il nostro edito preferito:
$ sudo vim /etc/php/php.ini
e decommnetiamo (togliendo “;” all’inizio) la riga:
extension=snmp.so
decommentiamo e modifichiamo la riga:
;date.timezone =
in
date.timezone = "Europe/Rome"
* per una lista completa fare riferimento a QUESTO articolo.
controlliamo all’interno dello stesso file che le seguenti righe siano decommentate:
extension=mysql.so extension=sockets.so
A questo punto creiamo il database di cacti. Apriamo il terminale e lanciamo:
$ mysqladmin -u root -p create cacti $ mysql -u root -p cacti < /srv/http/cacti/cacti.sql
entriamo nella console mysql con il comando:
$ mysql -u root -p
e lanciamo i seguenti comandi:
mysql> grant all on cacti.* to cacti@localhost identified bt '<password>'; mysql> flush privileges; mysql> quit;
ovviamnete ricordiamoci di sostituire <password> con la password che vogliamo utilizzare per il database di cacti.
entriamo nella directory /srv/http/cacti:
$ cd /srv/http/cacti
e sostituiamo i volori TYPE in ENGINE all’interno del file cacti.sql. La soluzione più veloce è lanciare da terminale:
$ mv cacti.sql cacti.sql.tmp $ sed s/TYPE=/ENGINE=/g cacti.sql.tmp > cacti.sql
Editiamo il file di configurazione di cacti per poter leggere e scrivere sul DB:
$ vim /srv/http/cacti/include/config.php
e modifichiamo le direttive:
$database_username = "cacti"; $database_password = "<password>";
dove <password> è la password precedentemente impostata.
Installiamo cacti-spine, pacchetto presento su AUR, con il comando:
$ yaourt -Sy cacti-spine --noconfirm
e modifichiamo il file di configurazione /etc/spine.conf modificando le righe:
DB_User cacti DB_Pass <password>
A questo punto aggiungiamo al crond dell’utente root lo script poller per girare ogni 5 minuti, quindi con utenza di “root“:
$ crontab -e
e aggiuingiamo:
*/5 * * * * /usr/bin/sudo -u http /usr/bin/php /srv/http/cacti/poller.php > /dev/null 2>&1
Rendiamo eseguibili i script di cacti e modifichiamone i permessi con i comandi:
$ sudo chown -R http:http /srv/http/cacti/{rra,log} $ sudo chmod +x /srv/http/cacti/{cmd,poller}.php /srv/http/cacti/lib/ping.php $ sudo rm -f /srv/http/cacti/.htaccess
Finalmente l’installazione di cacti è completata!!!Ora dobbiamo configurere l’SNMP per lo scambio di informazioni. Per fare questo lanciamo come utente “root” i comandi:
$ mkdir /etc/snmp $ echo rocommunity cacti >> /etc/snmp/snmpd.conf $ echo rwcommunity cacti >> /etc/snmp/snmpd.conf
Riavviamo tutti i servizi e aggiungiamoli se non lo abbiamo già fatto nell’array DAEMONS del file di configurazione /etc/rc.conf:
$ sudo rc.d restart mysqld $ sudo rc.d restart httpd $ sudo rc.d restart snmpd $ sudo rc.d restart crond
Prepariamoci per la prima configurazione da interfaccia grafica.
Configurazione
Ora che abbiamo configurato cacti non ci resta che aprire il browser all’indirizzo:
http://localhost/cacti
oppure:
http://<ipdelserver>/cacti
dove, ovviamente, <ipdelserver> dovrà essere sostituito con l’IP del server\client dove abbiamo installato caci.
Una volta aperto l’indirzzo appena citato, ci verà chiesto di effettuare la prima configurazione e di selezionare il path di alcuni eseguibili, reperibili attraverso il comando:
$ which <eseguibile>
sostituendo l’output con quello di default.
Una volta completata la prima configurazione troveremo già inserito il server o client dove risiede il servizio Cacti. Dalla Console possiamo configurare e generare grafici di ogni genere. La configurazione di nuovi devices è molto semplice e intuitiva! Per ulteriori dettagli vi consiglio di cisionare la wiki ufficiale del progetto.