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-extra

Abilita 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_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 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 # # Order allow,deny # Allow from localhost 127.0.0.0/8 ::1 # AuthUserFile /etc/munin/munin-htpasswd # AuthName "Munin" # AuthType Basic # require valid-user # Order allow,deny #Allow from localhost 127.0.0.0/8 ::1 Allow from all Options None # Questo file può essere utilizzato come file .htaccess, o parte del tuo file di configurazione apache. # # Per far funzionare l'opzione del file .htaccess, la directory www di munin # (/var/cache/munin/www) deve avere "AllowOverride all" o qualcosa di # simile impostato. # # AuthUserFile /etc/munin/munin-htpasswd # AuthName "Munin" # AuthType Basic # require valid-user # Questa parte successiva richiede che mod_expires sia abilitato. # # Imposta il tempo di scadenza predefinito per i file a 5 minuti e 10 secondi dalla # loro creazione (modifica) tempo. Ci potrebbero essere nuovi file entro # quel tempo. # ExpiresActive On ExpiresDefault M310 [...] |

Riavvia Apache:

/etc/init.d/apache2 restart

Poi riavvia munin:

/etc/init.d/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. 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 admin

Inserisci 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 restart
Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.