Personal tools
Come prenderci cura dei nostri sistemi con Munin

Da zero a Munin in meno di 10 minuti

Sep 04, 2013

Come prenderci cura dei nostri sistemi con Munin

Vediamo una breve panoramica del sistema open-source di monitoraggio di sistemi, Munin, come installarlo e una configurazione di base

"Munin" means "memory"

In estrema sintesi, Munin è un sistema di monitoraggio di “sistemi” distribuito. Il termine “sistemi”, qui, è da intendersi in senso lato, dato che è possibile monitorare tanto sistemi hardware quanto applicazioni software.

Munin è costituito da uno o più nodi client, che si occupano di monitorare il proprio stato e di fornirlo via normali chiamate tcp, e da un nodo master che si occupa di interrogare i nodi client, raccogliere in un database queste statistiche e generare i grafici e le pagine html da mostrare via interfaccia web. La configurazione per apache viene fornita nel bundle se installato dai normali canali di gestione dei pacchetti di linux. E' possibile tuttavia, senza troppo sforzo, configurare al posto di apache il più giovane e scattante nginx.

Ok, ma perché proprio Munin?

Munin è distribuito in licenza open-source GPL ed è scritto principalmente in linguaggio Perl (sì, non è Python, ma data la qualità ce ne faremo una ragione).

Uno dei punti di forza di Munin è la quantità di plugin di monitoraggio già presenti in internet, oltre 500 al momento. La fauna di plugin è così numerosa anche grazie all'estrema facilità di implementazione di plugin custom.

Altri punti di forza di Munin sono la maturità del prodotto e il ritmo molto serrato dei nuovi rilasci. La prima release del codice ha oltre 10 anni (0.9.9r7) e vengono fatti anche più di un rilascio al mese.

Se questo non fosse ancora sufficiente per renderlo un Prodotto con la P maiuscola, attualmente sui repository di github ci sono oltre 40 contributori.

Configuriamo un munin-node

Vediamo ora come installare Munin, partendo da uno dei nodi. Un semplice e comune esempio di installazione è quello delle distro Debian-like (Debian, Ubuntu, Linux Mint, ecc.):

sudo apt-get install munin-node munin-plugins-extra

Il pacchetto munin-node è quello principale; l'altro, come si evince dal nome, installa dei plugin aggiuntivi. La configurazione, come l'installazione, è piuttosto semplice: basta editare il file /etc/munin/munin-node.conf. Nei commenti del file ci sono già alcune indicazioni delle possibili configurazioni. Per il nostro esempio basta aggiungere in fondo al file queste poche righe:

host_name mynode.mydomain.com # Hostname del nodo
allow 192.168.122.201         # indirizzo IP sul quale andremo ad installare il munin-server
host 192.168.122.203          # l'indirizzo IP della macchina corrente

Fatto! Ora per essere sicuri che la nuova configurazione venga applicata riavviamo il processo:

sudo /etc/init.d/munin-node restart

Questo nodo è ora pronto per raccogliere e fornire le informazioni sul proprio stato di salute. Nella cartella /etc/munin/plugins troviamo tutti i plugin attualmente attivi. Per installarne di nuovi basta scaricarli e poi fare un link simbolico in questa cartella.

Munin server

Dopo aver configurato i nodi Munin, passiamo al server. Come per i nodi, l'installazione è veramente semplice:

sudo apt-get install munin munin-node

Una volta installato il server andiamo ad aggiungere alla cron tab il processo cron di Munin in modo che venga eseguito ogni 5 minuti:

sudo -u munin crontab -e
*/5 * * * *     /usr/bin/munin-cron

Per terminare la configurazione, basta editare il file /etc/munin/munin.conf e specificare gli ip dei nodi:

dbdir /var/lib/munin
htmldir /var/cache/munin/www
logdir /var/log/munin
rundir /var/run/munin

[nodo1.miodominio] address 127.0.0.1 use_node_name yes [nodo2.miodominio] address 192.168.0.100 use_node_name yes

Il core del sistema è pronto. Basta lanciare la prima volta il cron:

sudo -u munin munin-cron

Ora il nostro server ha iniziato a raccogliere le informazioni dai nodi e a immagazzinarle nel suo database. Per poter vedere i grafici possiamo aggiungere al nostro apache la configurazione che troviamo già dentro alla cartella di config di munin:

ln -s /etc/munin/apache.conf /etc/apache2/conf.d/munin

Ora rilanciamo il processo apache:

sudo service apache2 restart

Conclusioni

Adesso possiamo divertirci a monitorare i nostri sistemi accedendo via web a: http://<server-ip>/munin. Un unico avvertimento: abbiamo riscontrato vari casi di dipendenza da Munin! Guardare i grafici e l'ottima salute dei nostri sistemi causa assuefazione. Usare con cautela :)

Filed under: , ,
comments powered by Disqus