Munin è un progetto decisamente interessante per la sua semplicità d’uso, d’installazione e configurazione e per la sua versatilità. Di cosa si tratta? Di un sistema per monitorare le risorse utilizzate dalla (o dalle) vostre macchine quali:
- CPU
- Disco
- Rete
- Servizi vari (MySQL, Dovecot, Apache, …)
Ha un architettura di tipo client/server dove abbiamo un Master il quale raccoglie e mostra attraverso grafici generati con RRDTool i dati provenienti da uno o più nodi (che chiaramente posso essere distribuiti su macchine diverse).
Vediamo ora una semplice configurazione di Munin prendendo come requisiti per il nostro sistema i seguenti punti:
- Piattaforma Debian 5.0 (Lenny) ma dovrebbe funzionare anche su versioni precedenti
- Master e nodo sono la stessa macchina
Procediamo con l’installazzione dei pacchetti necessari a far funzionare il servizio, per installare munin utilizzate il seguente comando:
apt-get install munin
Se volete avere un elenco più preciso di quello che sta per fare mettete l’opzione -s al comando e vedrete quali pacchetti verranno installati (e quali potrebbe essere interessante aggiungere, suggested). L’installazione provvederà anche ad attivare il servizio.
A questo punto il Master ed il Nodo sono sulla stessa macchina ma non viene ancora monitorizzato nessun servizio, periferica o quantaltro. Procediamo quindi con la configurazione dei servizi che riteniamo opportuno monitorare. La seguente istruzione
munin-node-configure --suggest
stampa un elenco di plugin attivabili sul nostro server in base alla configurazione, disponibilità, …
apache_volume | no | [LWP::UserAgent not found] courier_mta_mailqueue | no | [spooldir not found] courier_mta_mailstats | no | [could not find executable] courier_mta_mailvolume | no | [could not find executable] cpu | no | yes cupsys_pages | no | [could not find logdir] df | no | yes df_inode | no | yes
Dove i campi rappresentano il nome, se è attiva ed eventuali note (attivabile, errori, …). Una volta configurato il sistema per essere compatibile con le nostre esigenze di monitoraggio possiamo eseguire il seguente comando:
munin-node-configure --suggest --shell
attraverso il quale abbiamo l’elenco delle istruzione da eseguire (tramite copia/incolla) per attivare le plugin.
ln -s /usr/share/munin/plugins/cpu /etc/munin/plugins/cpu ln -s /usr/share/munin/plugins/df /etc/munin/plugins/df ln -s /usr/share/munin/plugins/df_inode /etc/munin/plugins/df_inode ln -s /usr/share/munin/plugins/entropy /etc/munin/plugins/entropy ln -s /usr/share/munin/plugins/forks /etc/munin/plugins/forks ln -s /usr/share/munin/plugins/if_ /etc/munin/plugins/if_eth0 ln -s /usr/share/munin/plugins/if_err_ /etc/munin/plugins/if_err_eth0
Questo non fa altro che generare un link sombolico della plugin in /usr/share/munin/plugins in /etc/munin/plugins ed è poi possibile configuare ulterioremente il comportamento in :/etc/munin/plugin-conf.d
Una volta configurato riavviamo il servizio cosi da ricaricare la configurazione e le diverse plugin, a questo punto i dati vengono registrati:
/etc/init.d/munin-node restart
Il servizio è ora attivo e funzionante, è possibile (e auspicabile) però ad esempio implementare un meccanismo di sicurezza sull’accesso (attraverso IP o autenticazione) alle statistiche.
Se si vogliono monitorare dati di applicazioni o servizi al momento non implementati si può verificare se è disponibile una plugin per questo al seguente indirizzo:
Link interessanti: