Monitorare in modo centralizzato i propri server con Munin

Monitorare in modo centralizzato i propri server con Munin

Con Munin (qui la pagina Munin su Wikipedia, utile per chi non lo conoscesse) è possibile monitorare in modo centralizzato un numero a piacere di server remoti. A tal fine è necessario installare sulla macchina che fungerà da server di monitoraggio la versione server di Munin, mentre sulle altre macchine (chiamate nodi) sarà sufficiente installare il solo client. Si tratterà quindi di configurare il server per farlo connettere alle macchine remote, e configurare le macchine remote per accettare le connessioni in entrata da tale server.

La procedura seguente mostra come effettuare l'operazione su di Ubuntu Linux.

Il server Munin (IP 192.168.100.100)

Anzitutto è necessario procedere con l'installazione di munin sulla macchina che fungerà da server di monitoraggio centralizzato e che chiamerò "muninserver". In Ubuntu Linux, vi sono due pacchetti disponibili nei repository, munin (il server), e munin-node (il client). Sul nostro server Munin, installeremo entrambi:

muninserver$~ sudo apt-get install munin munin-node

Si noti che se non si desidera monitorare il server stesso, il pacchetto munin-node non è necessario.

Terminata l'installazione, è necessario editare il file /etc/munin/munin.conf ed aggiungere tutti gli host (ovvero i server remoti) di cui vorremmo "plottare" i grafici. Sarà probabilmente già presente [localhost.localdomain], è possibile aggiungere gli altri host al di sotto (o in coda al file se si preferisce):

/etc/munin/munin.conf

...

[localhost.localdomain]
    address 127.0.0.1
    use_node_name yes

[ubuntu1.node]
    address 192.168.100.1
    use_node_name yes

...

[ubuntu10.node]
    address 192.168.100.10
    use_node_name yes

Tutto quello che sostanzialmente è necessario fare, è aggiungere i nomi degli host con gli indirizzi IP dei server da monitorare. Per quanto riguarda il nome tra parentesi quadre (nome host), può essere usato quello che si preferisce, ovviamente dovrà essere utile per identificare la macchina e dovrà essere lo stesso inserito come host_name all'interno del file di configurazione del relativo nodo. Terminata la procedura è sufficiente salvare il file.

La macchina da monitorare, il nodo (IP 192.168.100.1)

Sulle macchine client (i nodi) che desideriamo monitorare sarà invece sufficiente installare il solo client:

ubuntu1$~ sudo apt-get install munin-node

Terminata l'installazione è necessario editare il file /etc/munin/munin-node.conf, specificando la porta (che se invariata sarà con tutta probabilità la 4949), il nome dell'host (host_name che dovrà corrispondere al nome inserito tra parentesi quadre nel file di configurazione del server Munin) e l'indirizzo IP del server di monitoraggio che si collegherà al nodo.

/etc/munin/munin-node.conf

...
port 4949

#host_name localhost.localdomain
host_name ubuntu.server

# A list of addresses that are allowed to connect.  This must be a
# regular expression, due to brain damage in Net::Server, which
# doesn't understand CIDR-style network notation.  You may repeat
# the allow line as many times as you'd like
allow ^127\.0\.0\.1$
#monitor server
allow ^192\.168\.164\.150$

...

Al termine, salvate le modifiche, è sufficiente riavviare il servizio

ubuntu1$~ sudo /etc/init.d/munin-node restart

Questo tipo di configurazione andrà fatto su ogni singolo nodo che si desideria monitorare e che è stato aggiungo nel file di configurazione del server munin. L'applicazione munin residente sul server centralizzato contatterà regolarmente i singoli client specificati nel file munin.conf, alla porta specificata in "port" in munin-node.conf ed inizierà a raccogliere i dati ed a tracciare i grafici dei vari parametri di sistema.

Inutile dire che sarà necessario consentire le comunicazioni in entrata alla suddetta porta su tutti i client configurando opportunamente il firewall.

Già dopo qualche ora sarà possibile visualizzare le prime statistiche dei server monitorati, aprendo la pagina http://192.168.100.100/munin.

Munin: elenco dei nodi che si stanno monitorando

Consiglio di proteggere con password utilizzando una semplice autenticazione di Apache, l'accesso alle pagine di monitoraggio.