Installare lo strumento di monitoring Munin su Ubuntu 14.04
Introduzione
Munin è un’applicazione di sistema, di rete e di monitoraggio delle infrastrutture che fornisce informazioni sotto forma di grafici attraverso un browser web. È stata progettata con una architettura client-server e può essere configurata per monitorare la macchina su cui è installata (il Munin Master) ed un qualsiasi numero di macchine client che, in gergo Munin, sono chiamati Munin node.
In questo articolo, installeremo e configureremo Munin su Ubuntu al fine di monitorare il server su cui è stato installato, ed un nodo. Per installare Munin su più nodi, basta seguire su ogni sistema le istruzioni per la creazione di un nodo.
Prerequisiti
- Due Droplet [la VPS di DigitalOcean, NdT] Ubuntu 14.04. Uno dei server sarà il Munin master. L’altro sarà il Munin node.
- Per ogni Droplet, un utente non root con i privilegi sudo
Tutti i comandi di questo tutorial dovrebbero essere eseguiti come utente non root. Se è necessario eseguire il comando come root, tale comando sarà preceduto da sudo
. La Configurazione iniziale del server con Ubuntu 14.04 spiega come aggiungere utenti e dare loro l’accesso sudo.
Fase 1 – Installare i pacchetti richiesti
Per prima cosa inizieremo a lavorare sul Munin master. Prima di installare Munin su Ubuntu, devono essere installate alcune dipendenze.
Anche se Munin può funzionare con i più popolari web server come Nginx e Lighttpd è, di norma, progettato per funzionare con il web server Apache. Assicuratevi quindi che Apache sia installato e configurato sul Munin master. Se non è già installato, fatelo utilizzando i comandi:
$ sudo apt-get update
$ sudo apt-get install -y apache2 apache2-utils
Per assicurarsi che la funzionalità dynazoom, responsabile dello zoom nei grafici che vengono generati, funzioni correttamente quando si fa click su di essi, installate quanto segue:
$ sudo apt-get install -y libcgi-fast-perl libapache2-mod-fcgid
Dopo l’installazione di questi due pacchetti, il modulo fcgid
deve essere abilitato. Per controllare, scrivete:
$ /usr/sbin/apachectl -M | grep -i cgi
L’output dovrebbe essere:
fcgid_module (shared)
Se non c’è output, allora non è abilitato. È possibile attivarlo tramite:
$ sudo a2enmod fcgid
Quando si esegue il comando apachectl
, potete ignorare il seguente avvertimento:
Could not reliably determine the server's fully qualified domain name ...
Apache funzionerà con Munin anche con questo avvertimento.
Il resto della configurazione che permetterà il corretto funzionamento dello zoom del grafico verrà vista al punto 3.
Fase 2 – Installare Munin sul Munin master
I pacchetti di installazione di Munin sono disponibili nel repository ufficiale di Ubuntu in modo che possano essere installati tramite il gestore dei pacchetti della distribuzione. A questo punto va installato il pacchetto Munin master. La versione nel repository è l’ultima versione stabile.
Per installarlo, al fine di monitorare il server su cui è installato, scrivete:
$ sudo apt-get install -y munin
Fase 3 – Configurare il Munin Master
Nella directory /etc/munin
troviamo il file di configurazione principale di Munin, munin.conf
, altri file necessari al suo funzionamento e le sue sottodirectory. In questa fase si dovrà modificare il file di configurazione principale per il Munin master e la configurazione di Apache apache.conf
.
Il file di configurazione principale è costituito da almeno due sezioni, la global ed almeno una sezione host. Come opzione, ci può essere una sezione group. Le sezioni host e group iniziano con i rispettivi nomi tra parentesi quadre. Questo file contiene le definizioni delle variabili, le direttive che determinano il modo in cui Munin monitora i server e i servizi, e quali server vanno monitorati.
Per iniziare, aprite il file di configurazione principale:
$ cd /etc/munin/
$ sudo nano munin.conf
Cercate le linee seguenti e rimuovete il commento togliendo il segno #
che lo precede. dbdir contiene tutti i file rrd contenenti le informazioni dell’effettivo monitoraggio; htmldir contiene le immagini ed i file del sito; logdir mantiene i log; rundir contiene i file di stato; tmpldir è la collocazione dei template HTML. Assicuratevi di modificare htmldir da /var/cache/munin/www
alla vostra web directory. In questo esempio useremo /var/www/munin
:
/etc/munin/munin.conf
dbdir /var/lib/munin
htmldir /var/www/munin
logdir /var/log/munin
rundir /var/run/munin
tmpldir /etc/munin/templates
Dal momento che htmldir
non esiste, la creiamo e facciamo uso di chown in modo che sia di proprietà dell’utente munin
del sistema:
$ sudo mkdir /var/www/munin
$ sudo chown munin:munin /var/www/munin
munin.conf
, cercate il primo albero dell’host. Esso definisce il modo in cui accedere e monitorare la macchina host. Dovrebbe apparire così: /etc/munin/munin.conf
[localhost.localdomain]
address 127.0.0.1
use_node_name yes
Cambiate il nome di quell’albero in uno che identifichi in modo univoco il server. Questo è il nome che verrà visualizzato nell’interfaccia web di Munin. In questo esempio useremo MuninMaster ma potreste anche utilizzare l’hostname del server:
/etc/munin/munin.conf
[MuninMaster]
address 127.0.0.1
use_node_name yes
Questo è tutto per il file di configurazione, dunque salvatelo e chiudetelo.
All’interno della medesima /etc/munin
, il successivo file da modificare è apache.conf
, che è il file di configurazione di Munin che riguarda Apache. È linkato simbolicamente a /etc/apache2/conf-available/munin.conf
che, a sua volta, è linkato simbolicamente a /etc/apache2/conf-enabled/munin.conf
. Potete iniziare a modificarlo con nano
:
$ sudo nano apache.conf
Nella parte superiore del file, modificate la prima riga in modo che rifletta il path di htmldir specificato in munin.conf
creato in precedenza. Sulla base del path utilizzato in questo articolo, dovrebbe apparire come si vede qui sotto; ciò fa sì che possiate accedere all’interfaccia web di Munin aggiungendo la stringa munin all’indirizzo IP del server o al dominio in hosting sul server:
/etc/munin/apache.conf
Alias /munin /var/www/munin
Cercate poi la sezione Directory e cambiate la directory in /var/www/munin
. Commentate (o cancellate) anche le prime quattro righe e quindi aggiungete due nuove direttive in modo che si legga:
/etc/munin/apache.conf
<Directory /var/www/munin>
#Order allow,deny
#Allow from localhost 127.0.0.0/8 ::1
#Allow from all
#Options None
Require all granted
Options FollowSymLinks SymLinksIfOwnerMatch
...
...
</Directory>
Cercate la penultima sezione Location, commentate o cancellate le prime due righe ed aggiungetene due nuove in modo che si legga:
/etc/munin/apache.conf
<Location /munin-cgi/munin-cgi-graph>
#Order allow,deny
#Allow from localhost 127.0.0.0/8 ::1
Require all granted
Options FollowSymLinks SymLinksIfOwnerMatch
...
...
</Location>
Fate lo stesso per l’ultima sezione Location:
/etc/munin/apache.conf
<Location /munin-cgi/munin-cgi-html>
#Order allow,deny
#Allow from localhost 127.0.0.0/8 ::1
Require all granted
Options FollowSymLinks SymLinksIfOwnerMatch
...
...
</Location>
Salvate e chiudete il file. Quindi riavviate Apache e Munin.
sudo service apache2 restart
sudo service munin-node restart
È ora possibile accedere all’interfaccia web di Munin puntando il browser a indirizzo-ip-del-server/munin
Fase 4 – Aggiungere un nodo al Munin Master
In questa fase vi mostreremo come aggiungere un server remoto (o nodo) al Munin master in modo che sia possibile monitorarlo all’interno della stessa interfaccia web. Si tratta di modificare il file di configurazione del Munin master per specificare un albero host per il nodo. Quindi, è necessario installare il pacchetto del Munin node sul nodo e modificare il file di configurazione in modo che possa essere monitorato dal Munin master.
Cominciamo con il Munin node, la seconda Droplet Ubuntu che avete creato.
Accedete al Munin node, aggiornate il database dei pacchetti e installate il pacchetto del Munin node:
$ sudo apt-get update
$ sudo apt-get install -y munin-node
Dopo che l’installazione è stata completata con successo, il file di configurazione del nodo dovrebbe essere in /etc/munin
. Apritelo con nano
:
$ sudo nano /etc/munin/munin-node.conf
Verso la metà del file, cercate una una linea tipo allow ^ 127.0.0.1 $ e modificatela in modo che rifletta l’indirizzo IP del Munin master. Si noti che l’indirizzo IP è in forma di espressione regolare; dunque, supponendo che l’indirizzo IP del server master sia 123.46.78.100, la linea dovrebbe essere così:
[label /etc/munin/munin-node.conf}
allow ^123\.456\.78\.100$
Salvate e chiudete il file. Quindi riavviate Munin:
$ sudo service munin-node restart
Tornate sul Munin master, aprite il file di configurazione principale:
$ sudo nano /etc/munin/munin.conf
Tutto quello che dobbiamo fare in questo file è inserire un albero host per il nodo (remoto). Per far questo, l’approccio più semplice è quello di copiare e modificare l’albero host del master. Assicuratevi di sostituire node-ip-address
con l’indirizzo IP del nodo che si sta aggiungendo:
/etc/munin/munin.conf
[MuninNode]
address node-ip-address
use_node_name yes
Salvate e chiudete il file. Quindi riavviate Apache:
$ sudo service apache2 restart
Munin verifica la presenza di nuovi nodi ogni 5 minuti. Attendete qualche minuto poi ricaricate l’interfaccia web del Munin master. Dovreste vedere una entry per il nodo. Se ancora non si vede, provate di nuovo dopo 5 minuti. Utilizzando questo metodo è possibile aggiungere tanti nodi quanti se ne vogliono monitorare.
Fase 5 – Abilitare ulteriori Plugin
Munin controlla un sistema utilizzando degli script di plugin e, di norma, vengono installati e sono attivi circa una dozzina di plugin. L’elenco completo dei plugin disponibili si trova nella directory /usr/share/munin/plugins
. Per vedere quali plugin possono essere utilizzati sul proprio sistema, Munin offre il seguente comando:
$ sudo munin-node-configure --suggest
L’output dovrebbe essere di questo tipo:
Plugin | Used | Suggestions
------ | ---- | -----------
cps_ | no | no
cpu | yes | yes
cpuspeed | no | no [missing /sys/devices/system/cpu/cpu0/cpufreq/stats/time_in_state]
cupsys_pages | no | no [could not find logdir]
df | yes | yes
df_inode | yes | yes
fail2ban | no | yes
ip_ | no | yes
Un plugin con uno yes nella colonna Used significa proprio ciò che indica [che è in uso, NdT], mentre uno con uno yes nella colonna Suggestions significa che può essere utilizzato. Uno con un no su entrambe le colonne significa che non è in uso e non può essere utilizzato nel sistema. Infine, se un plugin ha un no nella colonna Used e un yes in quella Suggestions, allora non è in uso, ma può essere abilitato e utilizzato sul sistema.
Sul Munin master e il Munin node, è anche possibile vedere un elenco dei plugin installati nella directory /etc/munin/plugins
.
Il package munin-plugins-extra
dovrebbe essere stato installato durante l’installazione di Munin. Se così non fosse, fatelo usando il comando:
$ sudo apt-get install munin-plugins-extra
Per abilitare un plugin disponibile ma che non è attualmente in uso, creategli un link simbolico dalla directory /usr/share/munin/plugins
alla directory /etc/munin/plugin
.
Ad esempio, per abilitare il plugin Fail2ban, prima installate Fail2ban:
$ sudo apt-get install fail2ban
Create quindi il collegamento simbolico che abilita il plugin Munin:
$ sudo ln -s /usr/share/munin/plugins/fail2ban /etc/munin/plugins
Riavviate Munin:
$ sudo service munin-node restart
Attendete qualche minuto, ricaricate l’interfaccia web, e dovreste vedere i grafici di Fail2ban sotto al titolo Host blacklisted by fail2ban nella categoria network del Munin master.
Risoluzione dei problemi
Se si riscontrano problemi con la configurazione del Munin master, del Munin node, oppure ottenere il master per poter trovare il nodo, controllate i file di log e date un’occhiata ai messaggi di errore:
- Munin master:
/var/log/munin/munin-update.log
- Munin node:
/var/log/munin/munin-node.log
È possibile inoltre controllare la pagina del progetto per trovare la soluzione di altri problemi.
Conclusioni
Munin può essere configurato per monitorare il sistema su cui è installato. L’aggiunta di server remoti al sistema monitorato è semplice quanto l’installazione del pacchetto munin-node
sul server remoto (o nodo) e successivamente la modifica del file di configurazione del server e del nodo per puntare all’altro indirizzo IP.
Munin funziona utilizzando i plugin, ma non tutti sono subito pronti all’uso. Le informazioni sui plug-in sono disponibili sulla pagina del progetto .
Autore: finid
Redattore: Tammy Fox
Traduzione dell’articolo https://www.digitalocean.com/community/tutorials/how-to-install-the-munin-monitoring-tool-on-ubuntu-14-04 Copyright © 2016 DigitalOcean™ Inc.