Cacti
Versioni Compatibili ERRORE: valore non valido ( Debian Etch 4.0 Debian Lenny 5.0 Debian Squeeze Debian Sid )! Vedi qui. |
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.
Nel seguito della guida verrà trattata una veloce installazione di Apache e di MySQL; per approfondimenti si consiglia di seguire una delle guide dettagliate presenti nel wiki:
Per una installazione veloce:
# apt-get install snmpd mysql-server snmp
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'
Per verificare il corretto funzionamento del demone può essere utile il seguente comando:
# snmpwalk -Os -c public -v 1 INDIRIZZO_IP_DA_TESTARE system
Si dovrebbe ottenere come risposta una lunga stringa di dati e non una scoraggiante riga come questa:
Timeout: No Response from INDIRIZZO_IP_DA_TESTARE
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.