Server Monitoring · 5 min read · Oct 20, 2025

Monitoraggio del Server con Munin e Monit su Ubuntu 16.04 LTS (Xenial Xerus)

Questo tutorial ti mostrerà come monitorare un server Ubuntu 16.04 con Munin e Monit. Munin produce grafici interessanti su quasi ogni aspetto del tuo server, mentre Monit controlla la disponibilità di servizi come Apache, MySQL, Postfix e prende le azioni appropriate come un riavvio se trova che un servizio non si comporta come previsto. La combinazione dei due ti offre un monitoraggio completo: grafica che ti consente di riconoscere problemi attuali o imminenti, e un watchdog che garantisce la disponibilità dei servizi monitorati. Questo tutorial contiene due capitoli (opzionali) sull’integrazione di Munin e Monit in ISPConfig 3.1.

1 Nota Preliminare

Il nome host del nostro sistema è server1.example.com, e abbiamo un sito web www.example.com su di esso con la radice del documento /var/www/www.example.com/web.

I seguenti passaggi devono essere eseguiti come utente root. Per diventare utente root sul tuo server, esegui questo comando:

sudo -s

Assicurati che il sistema sia aggiornato prima di iniziare a installare Munin, esegui:

apt-get update  
apt-get upgrade

Apache è utilizzato per mostrare le pagine di Munin, il modulo apache fcgid è necessario per la funzione di zoom dei grafici di Munin. Installerò apache e il modulo libapache2-mod-fcgid con apt.

apt-get -y install apache2 libcgi-fast-perl libapache2-mod-fcgid

Abilita il modulo fcgid in apache.

a2enmod fcgid

2 Installa e Configura Munin

Per installare Munin su Ubuntu 16.04, esegui i comandi qui sotto:

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

Quando il server sta eseguendo MySQL o MariaDB, abilita alcuni plugin extra di Munin per monitorare MySQL:

cd /etc/munin/plugins  
ln -s /usr/share/munin/plugins/mysql_ mysql_  
ln -s /usr/share/munin/plugins/mysql_bytes mysql_bytes  
ln -s /usr/share/munin/plugins/mysql_queries mysql_queries  
ln -s /usr/share/munin/plugins/mysql_slowqueries mysql_slowqueries  
ln -s /usr/share/munin/plugins/mysql_threads mysql_threads

Successivamente, dobbiamo modificare il file di configurazione di Munin /etc/munin/munin.conf. Decommenta le righe dbdir, htmldir, logdir, rundir e tmpldir (i valori predefiniti vanno bene). Vogliamo che Munin utilizzi il nome server1.example.com invece di localhost.localdomain nell’output HTML, quindi sostituiamo localhost.localdomain con server1.example.com nella sezione dell’albero host semplice. Senza i commenti, il file modificato appare così:

nano /etc/munin/munin.conf
# Esempio di file di configurazione per Munin, generato da 'make build'  
  
# Le prossime tre variabili specificano dove si trovano i database RRD  
# l'output HTML, i log e i file lock/pid. Devono tutti  
# essere scrivibili dall'utente che esegue munin-cron. Sono tutti  
# impostati sui valori che vedi qui.  
#  
dbdir /var/lib/munin  
htmldir /var/cache/munin/www  
logdir /var/log/munin  
rundir /var/run/munin  
  
# Dove cercare i modelli HTML  
#  
tmpldir /etc/munin/templates  
  
# Dove cercare i file statici www  
#  
#staticdir /etc/munin/static  
  
# i file cgi temporanei sono qui. nota che deve essere scrivibile da  
# l'utente cgi (di solito nobody o httpd).  
#  
# cgitmpdir /var/lib/munin/cgi-tmp

# (Esattamente uno) directory per includere tutti i file.
includedir /etc/munin/munin-conf.d
[...]  
# un semplice albero host  
[server1.example.com]  
 address 127.0.0.1  
 use_node_name yes
[...]  

Dovremmo trovare il file di configurazione di Apache per Munin /etc/munin/apache.conf - definisce un alias chiamato munin per la directory di output HTML di munin /var/cache/munin/www, il che significa che possiamo accedere a munin da tutti i siti web su questo server utilizzando il percorso relativo /munin (ad esempio, http://www.example.com/munin).

Ora modificheremo il file munin.conf per Apache per consentire l’accesso da indirizzi IP esterni. Crea un backup del file originale:

mv /etc/munin/apache24.conf /etc/munin/apache24.conf_bak

Apri il nuovo file con un editor:

nano /etc/munin/apache24.conf

E incolla il contenuto qui sotto:

Alias /munin /var/cache/munin/www  
  
 # Richiedi locale  
 Require all granted  
 Options FollowSymLinks SymLinksIfOwnerMatch  
 Options None  
  
  
ScriptAlias /munin-cgi/munin-cgi-graph /usr/lib/munin/cgi/munin-cgi-graph  
  
 # Richiedi locale  
 Require all granted  
 Options FollowSymLinks SymLinksIfOwnerMatch  
   
 SetHandler fcgid-script  
   
   
 SetHandler cgi-script  
   

Riavvia Apache:

service apache2 restart

Poi riavvia Munin:

service munin-node restart

Ora aspetta qualche minuto affinché Munin possa produrre il suo primo output, e poi vai su http://www.example.com/munin/ nel tuo browser, e vedrai le prime statistiche:

Grafici di Munin.

(Questo è solo un piccolo estratto dei molti grafici che munin produce…)

3 Proteggi con Password la Directory di Output di Munin (Opzionale, ma altamente raccomandato)

Ora è una buona idea proteggere con password la directory di output di munin a meno che tu non voglia che tutti possano vedere ogni piccola statistica sul tuo server.

Per fare ciò, dobbiamo creare il file di password /etc/munin/munin-htpasswd. Vogliamo accedere con il nome utente admin, quindi facciamo così:

htpasswd -c /etc/munin/munin-htpasswd admin

Inserisci una password per admin. Poi apri di nuovo /etc/munin/apache.conf…

nano /etc/munin/apache24.conf

… commenta “Require all granted” e aggiungi le righe che ho contrassegnato in rosso:

Alias /munin /var/cache/munin/www  
  
 # Richiedi locale  
 # Require all granted  
 AuthUserFile /etc/munin/munin-htpasswd  
 AuthName "Munin"  
 AuthType Basic  
 Require valid-user  
 Options None  
  
  
ScriptAlias /munin-cgi/munin-cgi-graph /usr/lib/munin/cgi/munin-cgi-graph  
  
 # Richiedi locale  
 # Require all granted  
 AuthUserFile /etc/munin/munin-htpasswd  
 AuthName "Munin"  
 AuthType Basic  
 Require valid-user  
   
 SetHandler fcgid-script  
   
   
 SetHandler cgi-script  
   

Poi riavvia Apache:

service apache2 restart

4 Abilita moduli aggiuntivi in Munin

Il comando Munin “munin-node-configure –suggest” può essere utilizzato per ottenere raccomandazioni per moduli aggiuntivi di Munin che possono essere abilitati sul server. Esegui:

munin-node-configure --suggest

L’output dovrebbe essere simile a questo:

Suggerimento di Munin

La colonna “usato” mostra se un modulo è abilitato, la colonna “Suggerimenti” mostra se il server esegue un servizio che può essere monitorato da questo modulo. Crea un symlink per il modulo in /etc/munin/plugins per abilitarlo.

Qui abiliterò i moduli apache_* ad esempio:

cd /etc/munin/plugins  
ln -s /usr/share/munin/plugins/apache_accesses  
ln -s /usr/share/munin/plugins/apache_processes  
ln -s /usr/share/munin/plugins/apache_volume

Riavvia Munin per caricare la nuova configurazione.

service munin-node restart

5 Configura Munin in ISPConfig (opzionale)

Il Pannello di Controllo Hosting ISPConfig ha un’opzione per mostrare i dati di Munin all’interno del modulo Monitor di ISPConfig. I dati di Munin vengono caricati in un iframe, poiché la maggior parte dei browser blocca il contenuto da caricare tramite http all’interno di un sito https, dovremo trovare un modo per accedere alle statistiche di Munin tramite SSL. Il modo più semplice è utilizzare il vhost ISPConfig abilitato per SSL per questo creando un symlink all’interno della directory web di ISPConfig nella directory dei dati www di Munin.

ln -s /var/cache/munin/www /usr/local/ispconfig/interface/web/munin

Ora possiamo accedere a Munin in un browser con https://server1.example.com:8080/munin tramite il vhost apache di ISPConfig.

Il passo successivo è aggiungere la configurazione in ISPConfig.

Accedi a ISPConfig come utente Amministratore (admin) e vai su Sistema > Configurazione Server, compila l’URL, il nome utente e la password per Munin come mostrato qui sotto.

Impostazioni di Munin in ISPConfig.

Assicurati di utilizzare https:// e la porta 8080 nell’URL di munin.

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.