287
contributi
(Aggiunto template autori) |
|||
(40 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 | 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 | 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> | <pre> | ||
# apt-get install snmpd mysql-server | # apt-get install snmpd mysql-server snmp | ||
</pre> | </pre> | ||
nella sezione ''configurazione'' analizzeremo la configurazione di questi due server. | nella sezione ''configurazione'' analizzeremo la configurazione di questi due server. | ||
Ora installiamo | Ora installiamo Cacti (che installerà anche ''apache'', ''php4'', ''php4-mysql'', ''php4-cli'', e altre applicazioni necessarie al suo funzionamento): | ||
<pre> | <pre> | ||
# apt-get install cacti | # apt-get install cacti cacti-spine | ||
</pre> | </pre> | ||
Durante l'installazione di | Durante l'installazione di Cacti, verranno poste delle domande (che qui riporto con delle risposte di esempio): | ||
* '''MySQL server host name ''': ''localhost''; | * '''MySQL server host name ''': ''localhost''; | ||
* '''Database name for cacti ''': ''cacti''; | * '''Database name for cacti ''': ''cacti''; | ||
* '''Cacti database username''': ''cacti''; | * '''Cacti database username''': ''cacti''; | ||
* '''Cacti user password''': ''cactipass''; | * '''Cacti user password''': ''cactipass''; | ||
* '''Webserver type''': nel nostro caso selezioniamo ''Apache-SSL'', ma | * '''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}} | {{Box|Nota Bene|durante la configurazione ci viene ricordato che la configurazione di mysql deve essere fatta manualmente, come vedremo in seguito}} | ||
Riga 32: | Riga 34: | ||
==Configurazione== | ==Configurazione== | ||
===MySql=== | ===MySql=== | ||
Se | Se è la prima installazione di MySql sulla macchina, è consigliato cambiare la password di root in quanto, di default, non è impostata: | ||
<pre> | <pre> | ||
#/usr | #/usr/bin/mysql | ||
mysql> set password for root@localhost=password('rootpw'); | mysql> set password for root@localhost=password('rootpw'); | ||
mysql> exit | mysql> exit | ||
</pre> | </pre> | ||
Una volta impostata, procediamo con la creazione del database e dell'utente che | Una volta impostata, procediamo con la creazione del database e dell'utente che avrà accesso al database ''cacti''; | ||
<pre> | <pre> | ||
mysql> create database cacti; | mysql> create database cacti; | ||
mysql> GRANT ALL ON cacti.* TO cactiuser@localhost IDENTIFIED BY 'cactipass'; | |||
mysql> flush privileges; | mysql> flush privileges; | ||
mysql> exit | mysql> exit | ||
Riga 52: | Riga 54: | ||
</pre> | </pre> | ||
Bene, la configurazione di MySql | Bene, la configurazione di MySql è terminata. | ||
===Snmpd=== | ===Snmpd=== | ||
La configurazione di snmpd, se | 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 | 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> | <pre> | ||
com2sec paranoid default public | com2sec paranoid default public | ||
Riga 74: | Riga 76: | ||
# /etc/init.d/snmpd restart (oppure reload) | # /etc/init.d/snmpd restart (oppure reload) | ||
</pre> | </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 | Cacti utilizza PHP sia come estensione di Apache, sia come ''cli'' (common line interpreter). | ||
Per evitare problemi, | 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/cli/php.ini''' per quanto riguarda php4-cli; | ||
* '''/etc/php4/apache/php.ini''' per quanto riguarda php e apache. | * '''/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: | La modifica di questi file consiste, in pratica, nella rimozione del <code>''';'''</code> di commento alla seguente riga: | ||
<pre> | <pre> | ||
;extension=mysql.so | ;extension=mysql.so | ||
Riga 89: | Riga 138: | ||
Per terminare la configurazione base del sistema, rechiamoci al seguente indirizzo: | Per terminare la configurazione base del sistema, rechiamoci al seguente indirizzo: | ||
http://localhost/cacti (se | http://localhost/cacti (se è stato scelto Apache/Apache2)<br/> | ||
https://localhost/cacti (se | https://localhost/cacti (se è stato scelto Apache-SSL) | ||
per completare l'installazione. | per completare l'installazione. | ||
Premiamo ''Next>>'' dopo la prima schermata di presentazione;<br/> | Premiamo ''Next>>'' dopo la prima schermata di presentazione;<br/> | ||
Selezioniamo | 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 | 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/> | Ora siamo davanti alla schermata di LogIn.<br/> | ||
Riga 106: | Riga 155: | ||
==Aggiunta di Monitor== | ==Aggiunta di Monitor== | ||
Ora il sistema | 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 | 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== | ==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== | ==Utilizzo Avanzato== | ||
===Monitorare | ===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]] |
contributi