Introduzione

Cacti è un completo strumento per monitorare il sistema che si poggia su snmpd (lo stesso usato anche da mrtg). Uno dei punti di forza di cacti è l'elevata facilità di configurazione, senza per questo non garantire una elevata flessibilità.

Installazione

Cacti è già disponibile nei repository Debian, e quindi installabile tramite apt-get... Per il suo funzionamento richiede un database mysql a cui appoggiarsi per memorizzare i dati e il server snmpd per accedere ai dati da elaborare, oltre a questi programmi, inoltre, è necessario installare (o avere già configurato) il webserver Apache con l'estensione PhP.

Se, quindi, queste cose non sono presenti, consiglio di installarle:

# apt-get install snmpd mysql-server

nella sezione configurazione analizzeremo la configurazione di questi due server.

Ora installiamo cacti (che installerà anche apache, php4, php4-mysql, php4-cli, e altre applicazioni necessarie al suo funzionamento):

# apt-get install cacti

Durante l'installazione di cacti, verranno poste delle domande (che qui riporto con delle risposte di esempio):

  • MySQL server host name : localhost;
  • Database name for cacti : cacti;
  • Cacti database username: cacti;
  • Cacti user password: cactipass;
  • Webserver type: nel nostro caso selezioniamo Apache-SSL, ma è possibile effettuare la scelta più conveniente per il proprio sistema.
  Nota Bene
durante la configurazione ci viene ricordato che la configurazione di mysql deve essere fatta manualmente, come vedremo in seguito


Configurazione

MySql

Se è la prima installazione di MySql sulla macchina, è consigliato cambiare la password di root in quanto, di default, non è impostata:

#/usr/bin/mysql
mysql> set password for root@localhost=password('rootpw');
mysql> exit

Una volta impostata, procediamo con la creazione del database e dell'utente che avrà accesso al database cacti;

mysql> create database cacti;
mysql> GRANT ALL ON cacti.* TO cactiuser@localhost IDENTIFIED BY 'cactipass';
mysql> flush privileges;
mysql> exit

Ora non ci resta che sistemare il database, creando le tabelle ed inserendo i dati necessari:

# zcat /usr/share/doc/cacti/cacti.sql.gz | mysql -u root -p cacti

Bene, la configurazione di MySql è terminata.

Snmpd

La configurazione di snmpd, se cacti è installato sulla stessa macchina che si vuole monitorare, è limitata a dare l'accesso in lettura a snmpd, così da permetterne l'interrogazione da parte di cacti.

Per fare questo, modifichiamo il file /etc/snmp/snmpd.conf con il nostro editor di testo preferito, e facciamo in modo che le righe:

com2sec paranoid   default         public
#com2sec readonly  default         public
#com2sec readwrite default         private

diventino:

#com2sec paranoid  default         public
com2sec  readonly  127.0.0.1       public
#com2sec readwrite default         private

Una volta salvato il tutto, riavviamo snmpd con un semplice:

# /etc/init.d/snmpd restart (oppure reload)

Ora bisogna modificare il file /etc/default/snmpd cambiando la riga:

SNMPDOPTS='-Lsd -Lf /dev/null -u snmp -I -smux -p /var/run/snmpd.pid 127.0.0.1'

in:

SNMPDOPTS='-Lsd -Lf /dev/null -u snmp -I -smux -p /var/run/snmpd.pid'

Php

Cacti utilizza php sia come estensione di apache, sia come cli (common line interpreter). Per evitare problemi, è necessario controllare che l'estensione per mysql sia abilitata nei seguenti file:

  • /etc/php4/cli/php.ini per quanto riguarda php4-cli;
  • /etc/php4/apache/php.ini per quanto riguarda php e apache.

La modifica di questi file consiste, in pratica, nella rimozione del ; di commento alla seguente riga:

;extension=mysql.so

Cacti

Per terminare la configurazione base del sistema, rechiamoci al seguente indirizzo:

http://localhost/cacti (se è stato scelto Apache/Apache2)
https://localhost/cacti (se è stato scelto Apache-SSL)

per completare l'installazione.

Premiamo Next>> dopo la prima schermata di presentazione;
Selezioniamo New Install e controlliamo che i dati riportati siamo corretti, altrimenti è possibile modificarli nel file /etc/cacti/debian.php, dopo di che andiamo avanti;
Nella pagina di riepilogo degli eseguibili, controlliamo che siano stati rilevati tutti, altrimenti è necessario installarli manualmente, come SNMP Utility Version selezioniamo la 2°: NET-Smtp .x;

Ora siamo davanti alla schermata di LogIn.
I dati per la prima autenticazione sono:
Username: admin
Password: admin

verremo obbligati a cambiare password: facciamolo!!!

Aggiunta di Monitor

Ora il sistema è pronto per essere configurato: dopo aver effettuato il login, infatti, potremo accedere a due aree distinte: Console e Graphs; la prima rappresenta il centro di controllo, da dove è possibile aggiungere nuovi monitor (New Graphs) od aggiungere nuovi computer, router o altro (Devices).

L'aggiunta è molto intuitiva, per quanto riguarda l'utilizzo dei monitor già presenti, e normalmente non necessita di modifiche se non riguardanti l'aspetto (colori, unità di misura).

Gestione Utenti

Cacti permette la gestione degli utenti, in modo da rendere possibile la visualizzazione delle statistiche ad utenti anonimi (opzione abilitata di default) tramite la pagina https://localhost/cacti/graph_view.php?action=tree, oltre alla definizione di utenti con facoltà ristrette (limitazioni a determinate aree e/o funzioni). Tutte le opzioni sono modificabili tramite la voce User Management presente nel menù di sinistra della sezione Console. Le opzioni disponibili sono autoesplicative, e di facile gestione. L'utente guest è quello utilizzato per l'accesso anonimo.

Personalizzazione

Cacti permette una vasta gamma di personalizzazioni, che vanno dall'aggiunta di macchine da monitorare, alla definizione di nuove sorgenti di dati, ottenibili tramite snmp o script ad hoc.

Vediamo nel dettaglio come implementare queste soluzioni.

Utilizzo Avanzato

Monitorare più macchine

Se siamo in una rete dove sono presenti più macchine, risulta utile e comodo avere sotto controllo il loro funzionamento... Cacti ci viene in contro anche in questo, permettendo di monitorare diverse macchine (definite Devices), il tutto in modo semplice e molto intuitivo.

Configurazione della macchina

Prenderemo in esame il caso in cui la macchina da monitorare sia un computer con linux (per router, switch ed altri dispositivi simili, si rimanda al manuale specifico). Per permettere l'accesso al server snmpd, è sufficiente effettuare la modifica che è stata apportata precedentemente alla macchina su cui è stato installato cacti.

Configurazione di Cacti

Per aggiungere un nuovo Device, è necessario seguire i seguenti passi:

  • posizionarsi nella sezione console;
  • selezionare Devices dalla sezione Management nella barra di sinistra;
  • selezionare il bottone Add dalla barra in alto;
  • completare il form inserendo i dati richiesti:
Description
Il nome che si vuole dare al Device;
Hostname
l'indirizzo ip o il FQDN del Device;
Host Template
il tipo di dispositivo (in questo caso Linux Local Machine);
SNMP Options
le opzioni per la connessione al server snmpd del device; sono corretti (nella maggioranza dei casi) i valori di default;
  • nella pagina che segue è possibile selezionare Create Graphs for this Host, per accedere alla sezione dove indicare quali monitor attivare;
  • da quel momento, inizierà il monitoraggio del device appena aggiunto.


Per aggiungere il device alla Visualizzazione ad Albero, è necessario andare in Console->Graph Trees->Default Tree->Add e aggiungere il device, impostando Host come Tree Item Type.