806
contributi
Nessun oggetto della modifica |
m (→Apache, un caso particolare: formattazione) |
||
Riga 1: | Riga 1: | ||
=Introduzione= | =Introduzione= | ||
Munin | 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 | 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 | 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 | 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 | Durante l'installazione non è richiesto l'intervento dell'utente. | ||
=Configurazione= | =Configurazione= | ||
==Node== | ==Node== | ||
La configurazione dei Client (o ''nodi'') | 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, | 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 | 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 | 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 | 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 | 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, | 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''', | 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' | 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 | In questo modo munin può interrogare Apache direttamente tramite il protocollo http. | ||
Per verificare che mod_status sia effettivamente in funzione | 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 | 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 | La configurazione del server è gestita tramite un file: '''/etc/munin/munin.conf'''. | ||
La sezione che a noi interessa | 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 | ; 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, | 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] |
contributi