Server Monitoring · 5 min read · Oct 15, 2025
Monitoraggio del Server con Munin e Monit su Debian 8 (Jessie)
In questo articolo, descriverò come puoi monitorare il tuo server Debian 8 (Jessie) con Munin e Monit. munin produce graziose piccole grafiche su quasi ogni aspetto del tuo server (carico medio, utilizzo della memoria, utilizzo della CPU, throughput di MySQL, traffico eth0, ecc.) senza molta configurazione, 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 (come “Abbiamo bisogno di un server più grande presto, il nostro carico medio sta aumentando rapidamente.”), e un watchdog che garantisce la disponibilità dei servizi monitorati.
Sebbene Munin ti consenta di monitorare più di un server, discuteremo solo il monitoraggio del sistema in cui è installato qui.
Questo tutorial è stato scritto per Debian 8 (Jessie), ma la configurazione dovrebbe applicarsi anche ad altre distribuzioni come Ubuntu con poche modifiche.
Voglio dire prima che questo non è l’unico modo per impostare un sistema del genere. Ci sono molti modi per raggiungere questo obiettivo, ma questo è il modo che seguo. Non fornisco alcuna garanzia che questo funzionerà per te!
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.
Assicurati che il sistema sia aggiornato prima di iniziare a installare Munin, esegui:
apt-get update
apt-get upgradeApache è utilizzato per mostrare le pagine di Munin, il modulo apache fcgid è necessario per la funzione di zoom dei grafici di Munin. Installa apache e il modulo fcgid con apt.
apt-get install apache2 libcgi-fast-perl libapache2-mod-fcgidAbilita il modulo fcgid in apache.
a2enmod fcgid2 Installa e Configura Munin
Per installare Munin su Debian Jessie, facciamo così:
apt-get 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_innodb mysql_innodb
ln -s /usr/share/munin/plugins/mysql_isam_space_ mysql_isam_space_
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_threadsSuccessivamente, 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 semplice dell’albero degli host. 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 trova il RRD
# database, 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 degli host
[server1.example.com]
address 127.0.0.1
use_node_name yes
[...] Dovremmo trovare il file di configurazione di Apache 2.4 per Munin /etc/munin/apache24.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).
La configurazione di Apache per Munin non è abilitata per impostazione predefinita, questo è stato cambiato da DebianWheezy a Jessie. La nuova directory di configurazione è /etc/apache2/conf-enabled invece di /etc/apache2/conf.d che era utilizzata in versioni precedenti come Wheezy e Squeeze.
Esegui questi comandi per abilitare e caricare la configurazione in apache.
cd /etc/apache2/conf-enabled/
ln -s /etc/munin/apache24.conf munin.conf
service apache2 restartAssicurati di commentare la riga Require local e aggiungere Require all granted e Options FollowSymLinks SymLinksIfOwnerMatch invece (altrimenti potrai accedere all’output di Munin solo da localhost):
nano /etc/munin/apache24.confAlias /munin /var/cache/munin/www
# Require local
Require all granted
Options FollowSymLinks SymLinksIfOwnerMatch
Options None
ScriptAlias /munin-cgi/munin-cgi-graph /usr/lib/munin/cgi/munin-cgi-graph
# Require local
Require all granted
Options FollowSymLinks SymLinksIfOwnerMatch
SetHandler fcgid-script
SetHandler cgi-script
Riavvia Apache:
service apache2 restartPoi riavvia Munin:
service munin-node restartOra 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:

(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 adminInserisci una password per admin. Poi apri di nuovo /etc/munin/apache24.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
# Require local
# 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
# Require local
# 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 restart4 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 --suggestL’output dovrebbe essere simile a questo:

La colonna “used” mostra se un modulo è abilitato, la colonna “Suggestions” 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_volumeRiavvia Munin per caricare la nuova configurazione.
service munin-node restartRicevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.