Cacti: differenze tra le versioni

Da Guide@Debianizzati.Org.
Vai alla navigazione Vai alla ricerca
Nessun oggetto della modifica
 
(Aggiunto template autori)
 
(50 versioni intermedie di 6 utenti non mostrate)
Riga 1: Riga 1:
{{Versioni compatibili|Lenny|Squeeze|Wheezy}}
==Introduzione==
==Introduzione==
Cacti � un completo strumento per monitorare il sistema che si poggia su snmpd (lo stesso usato anche da mrtg).
[http://www.cacti.net 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�.
Uno dei punti di forza di Cacti è l'elevata facilità di configurazione, senza per questo non garantire una elevata flessibilità.


==Installazione==
==Installazione==
Cacti è già disponibile nei repository Debian, e quindi installabile tramite apt-get.
Per il suo funzionamento richiede un database [http://www.mysql.com mysql] a cui appoggiarsi per memorizzare i dati e il [http://geekcorp.com/snmpd/ server snmpd] per accedere ai dati da elaborare, oltre a questi programmi, inoltre, è necessario installare (o avere già configurato) il webserver [http://www.apache.org Apache] con l'estensione [http://www.php.net PhP].<br><br/>
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:
* [[Installare un ambiente LAMP: Linux, Apache2, SSL, MySQL, PHP5]]
* [[LAMP: Linux, Apache, MySQL e PHP]]
<br/>
Per una installazione veloce:
<pre>
# apt-get install snmpd mysql-server snmp
</pre>


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):
<pre>
# apt-get install cacti cacti-spine
</pre>
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.
{{Box|Nota Bene|durante la configurazione ci viene ricordato che la configurazione di mysql deve essere fatta manualmente, come vedremo in seguito}}


==Configurazione==
==Configurazione==
===MySql===
===MySql===
Se è la prima installazione di MySql sulla macchina, è consigliato cambiare la password di root in quanto, di default, non è impostata:
<pre>
#/usr/bin/mysql
mysql> set password for root@localhost=password('rootpw');
mysql> exit
</pre>
Una volta impostata, procediamo con la creazione del database e dell'utente che avrà accesso al database ''cacti'';
<pre>
mysql> create database cacti;
mysql> GRANT ALL ON cacti.* TO cactiuser@localhost IDENTIFIED BY 'cactipass';
mysql> flush privileges;
mysql> exit
</pre>
Ora non ci resta che sistemare il database, creando le tabelle ed inserendo i dati necessari:
<pre>
# zcat /usr/share/doc/cacti/cacti.sql.gz | mysql -u root -p cacti
</pre>
Bene, la configurazione di MySql è terminata.


===Snmpd===
===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.


===Php===
Per fare questo, modifichiamo il file <code>/etc/snmp/snmpd.conf</code> con il nostro editor di testo preferito, e facciamo in modo che le righe:
<pre>
com2sec paranoid  default        public
#com2sec readonly  default        public
#com2sec readwrite default        private
</pre>
diventino:
<pre>
#com2sec paranoid  default        public
com2sec  readonly  127.0.0.1      public
#com2sec readwrite default        private
</pre>


Una volta salvato il tutto, riavviamo snmpd con un semplice:
<pre>
# /etc/init.d/snmpd restart (oppure reload)
</pre>
Ora bisogna modificare il file <code>/etc/default/snmpd</code> cambiando la riga:
<pre>
SNMPDOPTS='-Lsd -Lf /dev/null -u snmp -I -smux -p /var/run/snmpd.pid 127.0.0.1'
</pre>
in:
<pre>
SNMPDOPTS='-Lsd -Lf /dev/null -u snmp -I -smux -p /var/run/snmpd.pid'
</pre>
Per verificare il corretto funzionamento del demone può essere utile il seguente comando:
<pre>
# snmpwalk -Os -c public -v 1 INDIRIZZO_IP_DA_TESTARE system
</pre>
Si dovrebbe ottenere come risposta una lunga stringa di dati e non una scoraggiante riga come questa:
<pre>
Timeout: No Response from INDIRIZZO_IP_DA_TESTARE
</pre>
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.
<br/>
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).
<br/>
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:
<pre>
apt-get update
apt-get install snmp-mibs-downloader
</pre>
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.
<br/>
Per mettere il demone in ascolto su tutte le interfacce di rete:
<pre>
#agentAddress  udp:127.0.0.1:161
agentAddress  udp:161
</pre>
Per esporre tutte le informazioni disponibili alla community public:
<pre>
#rocommunity public  default    -V systemonly
rocommunity public  default
</pre>
Per aggiungere grandezze da monitorare tramite script esterni:
<pre>
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
</pre>
Infine si riavvia snmpd con:
<pre>
/etc/init.d/snmpd restart
</pre>
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:
* '''/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 <code>''';'''</code> di commento alla seguente riga:
<pre>
;extension=mysql.so
</pre>


===Cacti===
===Cacti===
Per terminare la configurazione base del sistema, rechiamoci al seguente indirizzo:
http://localhost/cacti (se è stato scelto Apache/Apache2)<br/>
https://localhost/cacti (se è stato scelto Apache-SSL)
per completare l'installazione.
Premiamo ''Next>>'' dopo la prima schermata di presentazione;<br/>
Selezioniamo ''New Install'' e controlliamo che i dati riportati siamo corretti, altrimenti è possibile modificarli nel file <code>/etc/cacti/debian.php</code>, dopo di che andiamo avanti;<br/>
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'';<br/>
Ora siamo davanti alla schermata di LogIn.<br/>
I dati per la prima autenticazione sono:<br/>
'''Username:''' ''admin''<br/>
'''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''.
== Credits ==
http://pandafunk.blogspot.com/2010/06/lsnmpd-di-debian-squeeze.html
<br/>
http://www.rigacci.org/wiki/doku.php/doc/appunti/linux/sa/snmp
{{Autori
|Autore = [[Utente:MaXeR|MaXeR]]
|Estesa_da =
:[[Utente:Ferdybassi|Ferdybassi]] 17:50, 4 mar 2011 (CET)
}}
[[Categoria:Monitoraggio]]

Versione attuale delle 11:25, 26 set 2012

Edit-clear-history.png Attenzione. Questa guida è da considerarsi abbandonata, per via del tempo trascorso dall'ultima verifica.

Potrà essere resa obsoleta, previa segnalazione sul forum, se nessuno si propone per l'adozione.


Debian-swirl.png Versioni Compatibili

Debian 5 "lenny"
Debian 6 "squeeze"
Debian 7 "wheezy"

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):

  • 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.
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:

  • /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.

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