Cacti

Da Guide@Debianizzati.Org.

Edit-clear-history.png Attenzione. Questa guida necessita di un controllo, per via del tempo trascorso dall'ultima verifica e delle versioni di Debian con cui è stata testata.

Debian-swirl.png Versioni Compatibili
Debian 5 "Lenny"
Debian 6 "Squeeze"
Debian 7 "Wheezy"

Indice

Introduzione

Cacti è uno strumento completo 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 cacti-spine

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

Info.png 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 

A partire da Debian Squeeze Cacti non riesce a generare tutti grafici nonostante snmpd sia installato e configurato correttamente, perchè dalla versione 5.4.2.1 di net-snmp sono sorti dei conflitti di licenza contro i file MIB di IETF e IANA che fino a Debian Lenny erano contenuti nel pacchetto libsnmp-base. Ovviamente la rigorosa politica di Debian riguardo alle licenze free ne ha portato all'esclusione.
Niente panico: questi file su Debian esistono ancora, ma stanno nei repository non-free, nel pacchetto snmp-mibs-downloader (che praticamente è uno script che li scarica ed installa).
Prima di tutto bisogna quindi aggiungere il repository non-free al nostro sources.list, poi aggiornare la lista dei pacchetti e installare ciò che ci serve:

apt-get update
apt-get install snmp-mibs-downloader

Poi bisogna rettificare la configurazione di snmpd. Con Debian Squeeze la configurazione di snmpd utilizza per default un nuovo formato che comprende regole di ACL, ecc.
Per mettere il demone in ascolto su tutte le interfacce di rete:

#agentAddress  udp:127.0.0.1:161
agentAddress  udp:161

Per esporre tutte le informazioni disponibili alla community public:

#rocommunity public  default    -V systemonly
 rocommunity public  default

Per aggiungere grandezze da monitorare tramite script esterni:

extend mail_incoming    /usr/bin/sudo /usr/local/sbin/mail-io-stats incoming
extend mail_cmpleted    /usr/bin/sudo /usr/local/sbin/mail-io-stats completed

Infine si riavvia snmpd con:

/etc/init.d/snmpd restart

A questo punto snmpd sarà in grado, grazie ai preziosi file MIB appena installati, di fornire ai client tutte le informazioni che servono.

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:

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:

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;


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.

Credits

http://pandafunk.blogspot.com/2010/06/lsnmpd-di-debian-squeeze.html
http://www.rigacci.org/wiki/doku.php/doc/appunti/linux/sa/snmp




Guida scritta da: MaXeR

Swirl-auth20.png Debianized 20%

Estesa da:
Ferdybassi 17:50, 4 mar 2011 (CET)
Verificata da:

Verificare ed estendere la guida | Cos'è una guida Debianized

Strumenti personali
Namespace
Varianti
Azioni
Navigazione
Risorse
Strumenti