In questo articolo, descriverò come monitorare più sistemi con munin. munin produce graziosi grafici su quasi ogni aspetto del tuo server (media del carico, utilizzo della memoria, utilizzo della CPU, throughput MySQL, traffico eth0, ecc.) senza molta configurazione. Installerò il client munin su tutti i sistemi che devono essere monitorati (incluso il server munin stesso); i client munin riporteranno quindi al server munin.
Questo tutorial è stato scritto per Debian Etch, ma la configurazione dovrebbe essere applicata anche ad altre distribuzioni con piccole modifiche.
Voglio dire in primo luogo che questo non è l'unico modo per impostare un tale sistema. Ci sono molti modi per raggiungere questo obiettivo, ma questo è il modo in cui prendo. Non garantisco che questo funzionerà per te!
1 Nota preliminare
Il nome host del nostro server munin è server1.example.com (indirizzo IP:192.168.0.100) e abbiamo un sito Web www.example.com con la radice del documento /var/www/www.example.com/web su di esso .
Sto usando un client munin qui, server2.example.com (indirizzo IP:192.168.0.101). Ovviamente puoi aggiungere tutti i sistemi client che vuoi.
2 Installa e configura munin sul server
server munin (server1.example.com):
Per installare il client e il server munin su Debian Etch, facciamo questo:
apt-get install munin munin-node
Successivamente, dobbiamo modificare il file di configurazione di munin /etc/munin/munin.conf. Vogliamo che munin metta il suo output nella directory /var/www/www.example.com/web/monitoring, quindi cambiamo il valore di htmldir e vogliamo che usi il nome server1.example.com invece di localhost. localdomain nell'output HTML, quindi sostituiamo localhost.localdomain con server1.example.com. Con questa configurazione, il server munin è in grado di autocontrollarsi. Senza i commenti, il file modificato si presenta così:
vi /etc/munin/munin.conf
dbdir /var/lib/munin htmldir /var/www/www.example.com/web/monitoring logdir /var/log/munin rundir /var/run/munin tmpldir /etc/munin/templates [server1.example.com] address 127.0.0.1 use_node_name yes |
Quindi creiamo la directory /var/www/www.example.com/web/monitoring e cambiamo la sua proprietà nell'utente e nel gruppo munin, altrimenti munin non può posizionare il suo output in quella directory. Quindi riavviamo munin:
mkdir -p /var/www/www.example.com/web/monitoring
chown munin:munin /var/www/www.example.com/web/monitoring
/etc/init.d/munin-node restart
Ora attendi qualche minuto in modo che munin possa produrre il suo primo output, quindi vai su http://www.example.com/monitoring/ nel tuo browser e vedrai le prime statistiche. Dopo qualche giorno potrebbe apparire così:
(Questo è solo un piccolo estratto delle tante grafiche che munin produce...)
3 Protezione con password Directory di output munin sul server munin (opzionale)
server munin (server1.example.com):
Ora è una buona idea proteggere con password la directory /var/www/www.example.com/web/monitoring a meno che tu non voglia che tutti possano vedere ogni piccola statistica sul tuo server.
Per fare ciò, creiamo un file .htaccess in /var/www/www.example.com/web/monitoring:
vi /var/www/www.example.com/web/monitoring/.htaccess
AuthType Basic AuthName "Members Only" AuthUserFile /var/www/www.example.com/.htpasswd <limit GET PUT POST> require valid-user </limit> |
Quindi dobbiamo creare il file della password /var/www/www.example.com/.htpasswd. Vogliamo accedere con il nome utente admin, quindi facciamo questo:
htpasswd -c /var/www/www.example.com/.htpasswd admin
Inserisci una password per l'amministratore e il gioco è fatto!
4 Installa e configura munin sul client
client munin (server2.example.com):
Sul sistema client, dobbiamo solo installare il pacchetto client munin che si chiama munin-node:
apt-get install munin-node
Quindi dobbiamo dire al client munin che il nostro server munin server1.example.com con l'indirizzo IP 192.168.0.100 può connettersi per recuperare i dettagli dal client. Per fare ciò, apriamo /etc/munin/munin-node.conf e aggiungiamo la riga allow ^192\.168\.0\.100$ in fondo. Successivamente, il file dovrebbe assomigliare a questo:
vi /etc/munin/munin-node.conf
# # Example config-file for munin-node # log_level 4 log_file /var/log/munin/munin-node.log port 4949 pid_file /var/run/munin/munin-node.pid background 1 setseid 1 # Which port to bind to; host * user root group root setsid yes # Regexps for files to ignore ignore_file ~$ ignore_file \.bak$ ignore_file %$ ignore_file \.dpkg-(tmp|new|old|dist)$ ignore_file \.rpm(save|new)$ # Set this if the client doesn't report the correct hostname when # telnetting to localhost, port 4949 # #host_name localhost.localdomain # A list of addresses that are allowed to connect. This must be a # regular expression, due to brain damage in Net::Server, which # doesn't understand CIDR-style network notation. You may repeat # the allow line as many times as you'd like allow ^127\.0\.0\.1$ allow ^192\.168\.0\.100$ |
Infine, riavviamo il client munin:
/etc/init.d/munin-node restart
5 Aggiorna la configurazione del server munin
server munin (server1.example.com):
Ora dobbiamo dire al server munin che c'è un altro sistema da monitorare (server2.example.com con l'indirizzo IP 192.168.0.101). Per fare ciò, apriamo /etc/munin/munin.conf e aggiungiamo una stanza per server2.example.com in modo che il file assomigli a questo:
vi /etc/munin/munin.conf
dbdir /var/lib/munin htmldir /var/www/www.example.com/web/monitoring logdir /var/log/munin rundir /var/run/munin tmpldir /etc/munin/templates [server1.example.com] address 127.0.0.1 use_node_name yes [server2.example.com] address 192.168.0.101 use_node_name yes |
Quindi, riavviamo munin:
/etc/init.d/munin-node restart
Dopo alcuni minuti, dovresti trovare un link per server2.example.com nella pagina di munin (http://www.example.com/monitoring/):
Quando fai clic su quel link, vedrai i grafici per server2.example.com.
6 link
- munin: http://munin-monitoring.org/