Server Monitoring · 4 min read · Oct 15, 2025
Monitoraggio del Server Con munin E monit Su Debian Wheezy
Monitoraggio del Server Con munin E monit Su Debian Wheezy
Versione 1.0
Autore: Falko Timme
Seguimi su Twitter
In questo articolo descriverò come puoi monitorare il tuo server Debian Wheezy 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: grafiche che ti permettono 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 permetta di monitorare più di un server, discuteremo solo il monitoraggio del sistema su cui è installato qui.
Questo tutorial è stato scritto per Debian Wheezy, ma la configurazione dovrebbe applicarsi anche ad altre distribuzioni 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.
2 Installa E Configura munin
Per installare munin su Debian Wheezy, facciamo così:
apt-get install munin munin-node munin-plugins-extraAbilita alcuni plugin extra di munin:
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 dell’albero degli host semplice. Senza i commenti, il file modificato appare così:
vi /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 di lock/pid. Devono tutti # essere scrivibili dall'utente che esegue munin-cron. Sono tutti # predefiniti ai valori che vedi qui. # dbdir /var/lib/munin htmldir /var/cache/munin/www logdir /var/log/munin rundir /var/run/munin # Dove cercare i template 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 da 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 per munin /etc/apache2/conf.d/munin (che in realtà è un symlink a /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).
Assicurati di commentare la riga Allow from localhost 127.0.0.0/8 ::1 e aggiungere Allow from all invece (altrimenti potrai accedere all’output di munin solo da localhost):
vi /etc/apache2/conf.d/munin| # Abilita questo per la generazione di template Alias /munin /var/cache/munin/www # Abilita questo per template basati su cgi #Alias /munin-cgi/static /var/cache/munin/www/static #ScriptAlias /munin-cgi /usr/lib/munin/cgi/munin-cgi-html # |
Riavvia Apache:
/etc/init.d/apache2 restartPoi riavvia munin:
/etc/init.d/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. Dopo alcuni giorni questo potrebbe apparire così:

(Questo è solo un piccolo estratto delle molte grafiche che munin produce…)
3 Proteggi Con Password La Directory Di Output Di munin (Opzionale)
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 questo, 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/apache2/conf.d/munin…
vi /etc/apache2/conf.d/munin… e decommenta la seguente sezione:
| [...] AuthUserFile /etc/munin/munin-htpasswd AuthName "Munin" AuthType Basic require valid-user [...] |
Poi riavvia Apache:
/etc/init.d/apache2 restartRicevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.