Munin: differenze tra le versioni

m
Nessun oggetto della modifica
Riga 1: Riga 1:
=Introduzione=
=Introduzione=
Munin un sistema di monitoraggio di sistema avanzato, facilmente installabile e configurabile che offre una vasta gamma di monitor e supporta la raccolta di informazioni da pi� macchine.<br/>
Munin è un sistema di monitoraggio di sistema avanzato, facilmente installabile e configurabile che offre una vasta gamma di monitor e supporta la raccolta di informazioni da più macchine.<br/>
(Ringrazio Keltik per avermelo involontariamente mostrato).
(Ringrazio Keltik per avermelo involontariamente mostrato).


In questa guida vedremo come installarlo, configurandolo per monitorare due macchine: quella su cui installato il server ed un desktop (in questo caso i dati verranno raccolti solo quando questa macchina sar� accesa).
In questa guida vedremo come installarlo, configurandolo per monitorare due macchine: quella su cui è installato il server ed un desktop (in questo caso i dati verranno raccolti solo quando questa macchina sarà accesa).


=Installazione=
=Installazione=
Il programma composto da:
Il programma è composto da:
; munin-node : il Client, che gestisce la raccolta di informazioni su una determinata macchina
; munin-node : il Client, che gestisce la raccolta di informazioni su una determinata macchina
; munin : il Server, che si occupa di elaborare i dati, catalogarli, creare i grafici e le pagine html
; munin : il Server, che si occupa di elaborare i dati, catalogarli, creare i grafici e le pagine html


Per installare il Server (necessario solo sulla macchina che raccoglier� i dati):
Per installare il Server (necessario solo sulla macchina che raccoglierà i dati):
<pre>
<pre>
# apt-get install munin
# apt-get install munin
Riga 20: Riga 20:
</pre>
</pre>


Durante l'installazione non richiesto l'intervento dell'utente.
Durante l'installazione non è richiesto l'intervento dell'utente.




=Configurazione=
=Configurazione=
==Node==
==Node==
La configurazione dei Client (o ''nodi'') estemamente facile ed automatizzata: presente un comando che controlla la macchina alla ricerca di servizi monitorabili attraverso delle regole predefinite. d'obbligo evidenziare il numero di monitor presenti, che spaziano dalla statistiche di sistema ''base'' (CPU, Memoria, [Glossario:Swap | Swap]) fino a quelle dei servizi (MySql, Postfix, NFS, Apache, ...).
La configurazione dei Client (o ''nodi'') è estemamente facile ed automatizzata: è presente un comando che controlla la macchina alla ricerca di servizi monitorabili attraverso delle regole predefinite. È d'obbligo evidenziare il numero di monitor presenti, che spaziano dalla statistiche di sistema ''base'' (CPU, Memoria, [Glossario:Swap | Swap]) fino a quelle dei servizi (MySql, Postfix, NFS, Apache, ...).


Su ogni ''nodo'' provvediamo a lanciare il configuratore automatico, cos� da rilevare tutti i servizi/parametri di cui possibile tenere traccia:
Su ogni ''nodo'' provvediamo a lanciare il configuratore automatico, così da rilevare tutti i servizi/parametri di cui è possibile tenere traccia:
<pre>
<pre>
# munin-node-configure
# munin-node-configure
</pre>
</pre>
il processo pu� impiegare un bel po' di tempo (soprattutto se la macchina lenta); per controllare l'avanzamento del processo, consiglio di abilitare il debug:
il processo può impiegare un bel po' di tempo (soprattutto se la macchina è lenta); per controllare l'avanzamento del processo, consiglio di abilitare il debug:
<pre>
<pre>
# munin-node-configure --debug
# munin-node-configure --debug
</pre>
</pre>


al termine della procedura di riconoscimento verr� mostrata una tabella riassuntiva, simile alla seguente:
al termine della procedura di riconoscimento verrà mostrata una tabella riassuntiva, simile alla seguente:
<pre>
<pre>
Plugin                    | Used | Extra information
Plugin                    | Used | Extra information
Riga 118: Riga 118:
allow ^192\.168\.0\.1$
allow ^192\.168\.0\.1$
</pre>
</pre>
Il commento poco sopra il punto in cui abbiamo inserito questa stringa ci ricorda che si tratta di espressioni regolari, di conseguenza necessario anteporre un backslash prima dei punti.
Il commento poco sopra il punto in cui abbiamo inserito questa stringa ci ricorda che si tratta di espressioni regolari, di conseguenza è necessario anteporre un backslash prima dei punti.


Per applicare le modifica apportate, riavviamo ''munin-node'':
Per applicare le modifica apportate, riavviamo ''munin-node'':
Riga 128: Riga 128:
Munin sfrutta un' architettura a plug-in per monitorare le varie componenti di sistema. Come abbiamo visto nel paragrafo precedente (vedi l' output di ''munin-node-configure'') ce ne sono a disposizione moltissimi.
Munin sfrutta un' architettura a plug-in per monitorare le varie componenti di sistema. Come abbiamo visto nel paragrafo precedente (vedi l' output di ''munin-node-configure'') ce ne sono a disposizione moltissimi.


Munin-node altro non che uno script che si preoccupa di lanciare i vari plug-ins presenti all' interno della cartella '''/etc/munin/plugins'''. Notiamo subito che all' interno di questa directory non troviamo i veri e propri moduli, ma del link simbolici ad essi:
Munin-node altro non è che uno script che si preoccupa di lanciare i vari plug-ins presenti all' interno della cartella '''/etc/munin/plugins'''. Notiamo subito che all' interno di questa directory non troviamo i veri e propri moduli, ma del link simbolici ad essi:
<pre>
<pre>
# ls -l /etc/munin/plugins |more
# ls -l /etc/munin/plugins |more
Riga 138: Riga 138:
[...]
[...]
</pre>
</pre>
Quindi, per abilitare e/o disabilitare i moduli, sufficiente creare/cancellare i links simbolici a /usr/share/munin/plugins presenti in /etc/munin/plugins.
Quindi, per abilitare e/o disabilitare i moduli, è sufficiente creare/cancellare i links simbolici a /usr/share/munin/plugins presenti in /etc/munin/plugins.


Se ad esempio voglio abilitare i moduli relativi ad '''apt''', sar� sufficiente il comando:
Se ad esempio voglio abilitare i moduli relativi ad '''apt''', sarà sufficiente il comando:
<pre>
<pre>
# ln -s /usr/share/munin/plugins/apt* /etc/munin/plugins
# ln -s /usr/share/munin/plugins/apt* /etc/munin/plugins
Riga 149: Riga 149:
</pre>
</pre>
===Apache, un caso particolare===
===Apache, un caso particolare===
Parliamo un po' pi� dettagliatamente dei moduli relativi ad Apache: per abilitarli, infatti, non sufficiente creare i links simbolici, ma abbiamo bisogno anche di metter mano alla configurazione di Apache.
Parliamo un po' più dettagliatamente dei moduli relativi ad Apache: per abilitarli, infatti, non è sufficiente creare i links simbolici, ma abbiamo bisogno anche di metter mano alla configurazione di Apache.


Per monitorare Apache, Munin ha bisogno che mod_status venga caricato da httpd con la direttiva "ExtendedStatus On". In Debian mod_status per Apache viene caricato di default, per cui dobbiamo solo preoccuparci di fare un piccolo aggiustamento alla sezione che lo riguarda.
Per monitorare Apache, Munin ha bisogno che mod_status venga caricato da httpd con la direttiva "ExtendedStatus On". In Debian mod_status per Apache viene caricato di default, per cui dobbiamo solo preoccuparci di fare un piccolo aggiustamento alla sezione che lo riguarda.
Riga 162: Riga 162:
</IfModule>
</IfModule>
</pre>
</pre>
In questo modo munin pu� interrogare Apache direttamente tramite il protocollo http.
In questo modo munin può interrogare Apache direttamente tramite il protocollo http.


Per verificare che mod_status sia effettivamente in funzione sufficiente puntare il nostro browser all' indirizzo http://localhost/server-status.
Per verificare che mod_status sia effettivamente in funzione è sufficiente puntare il nostro browser all' indirizzo http://localhost/server-status.


{{box|Nota sulla sicurezza|E' bene aggiungere alcune istruzioni relative alla sicurezza nella nostra configurazione di mod_status, in modo da renderlo accessibile unicamente attraverso il nostro indirizzo ip locale (127.0.0.1). per fare questo possiamo inserire al' interno dei tags <location> e </location>, subito al di sotto di "SetHandler server-status" queste istruzioni:
{{box|Nota sulla sicurezza|E' bene aggiungere alcune istruzioni relative alla sicurezza nella nostra configurazione di mod_status, in modo da renderlo accessibile unicamente attraverso il nostro indirizzo ip locale (127.0.0.1). per fare questo possiamo inserire al' interno dei tags <location> e </location>, subito al di sotto di "SetHandler server-status" queste istruzioni:
Riga 175: Riga 175:
<pre>
<pre>
# apachectl graceful
# apachectl graceful
</pre
</pre>
e munin-node:
e munin-node:
<pre>
<pre>
# /etc/init-d/munin-node restart
# /etc/init-d/munin-node restart
</pre>
</pre>
==Server==
==Server==
La configurazione di defalut del server � pi� che sufficiente per un utilizzo normale di questo. Utilizza la directory '''/var/www/munin/''', in cui inserisce tutte le pagine relative ai computer da monitorare. Questa directory, quindi, dovr� essere accessibile in scrittura dall'utente '''munin''', ed in lettura dall'utente '''www-data''' (supponendo l'utilizzo di apache come webserver per visualizzare le statistiche). In particolare controlliamo che la directory '''/var/www''' abbia i permessi di esecuzione per l'utente ''nobody''.
La configurazione di defalut del server è più che sufficiente per un utilizzo normale di questo. Utilizza la directory '''/var/www/munin/''', in cui inserisce tutte le pagine relative ai computer da monitorare. Questa directory, quindi, dovrà essere accessibile in scrittura dall'utente '''munin''', ed in lettura dall'utente '''www-data''' (supponendo l'utilizzo di apache come webserver per visualizzare le statistiche). In particolare controlliamo che la directory '''/var/www''' abbia i permessi di esecuzione per l'utente ''nobody''.


===Aggiunta di Client===
===Aggiunta di Client===
La configurazione del server gestita tramite un file: '''/etc/munin/munin.conf'''.
La configurazione del server è gestita tramite un file: '''/etc/munin/munin.conf'''.


La sezione che a noi interessa l'ultima, dove vengono raccolti i dati dei ''nodi'' da monitorare. Ogni blocco rappresentate un ''nodo'', nel file di configurazione, ha la seguente struttura:
La sezione che a noi interessa è l'ultima, dove vengono raccolti i dati dei ''nodi'' da monitorare. Ogni blocco rappresentate un ''nodo'', nel file di configurazione, ha la seguente struttura:
<pre>
<pre>
[nome_del_nodo]
[nome_del_nodo]
Riga 194: Riga 195:


I parametri e le opzioni descritte hanno il seguente significato:
I parametri e le opzioni descritte hanno il seguente significato:
; nome_del_modulo : indica il nome con cui verr� rappresentato il ''nodo'' (solo se ''use_node_name'' ''yes''). Munin raccoglie i nodi per domini di secondo livello, in una struttura ad albero.
; nome_del_modulo : indica il nome con cui verrà rappresentato il ''nodo'' (solo se ''use_node_name'' è ''yes''). Munin raccoglie i nodi per domini di secondo livello, in una struttura ad albero.
; address <indirizzo_del_nodo> : indica l'indirizzo (IP o URL) tramite il quale raggiungere il ''nodo''.
; address <indirizzo_del_nodo> : indica l'indirizzo (IP o URL) tramite il quale raggiungere il ''nodo''.


Riga 212: Riga 213:


==Conclusioni==
==Conclusioni==
Munin, come visto, uno strumento veramente utile, sia per la sua facilit� di installazione, sia per il vasto numero di dati che capace di monitorare. Le sue funzionalit�, inoltre, sono ampliabili tramite plugin, cos� da poter adattare al meglio il servizio alle proprie esigenze.
Munin, come visto, è uno strumento veramente utile, sia per la sua facilità di installazione, sia per il vasto numero di dati che è capace di monitorare. Le sue funzionalità, inoltre, sono ampliabili tramite plugin, così da poter adattare al meglio il servizio alle proprie esigenze.


==Bookmark==
==Bookmark==
[http://www.linpro.no/projects/munin/ Home Page del progetto]
[http://www.linpro.no/projects/munin/ Home Page del progetto]
806

contributi