Cacti: differenze tra le versioni
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 | [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 | 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. | |||
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
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. |
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.
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 | Debianized 20% |
Estesa da:
| |
Verificata da: | |
Verificare ed estendere la guida | Cos'è una guida Debianized |