This is an old revision of the document!
Table of Contents
Munin
Installare il pacchetto Debian munin che fornisce le funzioni di nodo Munin master, altri host possono essere semplicemente satelliti (installando il pacchetto munin-node) dell'unico master.
L'installazione predefinita Debian imposta una alias /munin
nel web server Apache, ma l'accesso è ristretto a 127.0.0.1. Modificare /etc/munin/apache.conf
e allargare i permessi per la directory /var/cache/munin/www
e le location /munin-cgi/*
.
Plugin
Creare dei link in /etc/munin/plugins/
ai plugin richiesti che risiedono in /usr/share/munin/plugins/
. A seconda dei plugin attivi potrebbero essere necessari altri pacchetti, ad esempio:
- libdbi-per e libdbd-pg-perl per il plugin
postgres_streaming_
Permessi
I vari plugin vengono eseguiti solitamente con utenti non privilegiati, questo potrebbe causare dei problemi. Ad esempio il plugin mailman non riesce a leggere i file di log (vedere /var/log/munin/munin-node.log
):
Can't open /var/log/mailman/post for reading: Permission denied at /etc/munin/plugins/mailman line 109.
L'utente nobody.munin
infatti non può accedere alla directory:
drwxrws--- 2 root list 4096 Jan 4 06:25 /var/log/mailman
Per modificare i permessi è sufficiente creare un file in /etc/munin/plugin-conf.d/local
con:
[mailman] group list
Aggiungere un'interfaccia di rete
Per aggiungere il monitoraggio di una scheda di rete (es. eth2):
cd /etc/munin/plugins ln -s /usr/share/munin/plugins/if_ if_eth2
C'è uno script che suggerisce quali sono le schede di rete disponibili:
export MUNIN_LIBDIR=/usr/share/munin /usr/share/munin/plugins/if_ suggest tun3 eth2 tun2 eth1 tun1 eth0
Dopo il cambiamento riavviare il servizio munin-node.
Monitoraggio latenza
Il pacchetto munin-plugins-core fornisce il plugin /usr/share/munin/plugins/ping_
, per attivarlo con le opzioni predefinite e misurare la latenza verso un host remoto è sufficiente creare un link simbolico:
ln -s /usr/share/munin/plugins/ping_ /etc/munin/plugins/ping_remote.server.org
Il plugin è scritto in Bash ed utilizza l'espansione dei parametri con valore predefinito per modificare il proprio comportamento. Ad esempio ping_args contiene gli argomenti passati al comando ping
ed ha valore predefinito -c 2
. Per passare valori diversi è possibile creare un file di configurazione /etc/munin/plugin-conf.d/ping_
che contiene ad esempio:
[ping_*] env.ping_args -c 5 [ping_remote.server.org] env.ping_args -c 10
L'utilizzo del carattere jolly consente di impostare dei parametri validi per tutti i plugin che non hanno una configurazione specifica.
Monitoraggio banda con iperf
ATTENZIONE: pare che ci sia un bug con iperf 2.0.5 in modalità daemon: dopo qualche tempo l'utlizzo della CPU sale al 100%, anche se non ci sono client connessi. Il problema è stato riscontrato in modalità TCP. Vedere ad esempio questo post e quest'altro. Attualmente (Debian Wheezy 7.3) la soluzione non è usabile
.
Con iperf è possibile monitorare la larghezza di banda TCP o UDP, con Munin è possibile trasformare queste misure in grafico.
iperf funziona in modalità client/server, normalmente sulla porta 5001/TCP. Lato server, dopo aver installato l'omonimo pacchetto Debian, è necessario far partire il demone. Lo script start/stop non è fornito, ma utilizzando il generico /etc/init.d/skeleton
lo si crea facilmente.
Per testare il funzionamento, sul client si può eseguire:
iperf -c test.server.org ------------------------------------------------------------ Client connecting to test.server.org, TCP port 5001 TCP window size: 20.4 KByte (default) ------------------------------------------------------------ [ 3] local 192.168.1.10 port 39376 connected with 192.168.33.46 port 5001 [ ID] Interval Transfer Bandwidth [ 3] 0.0-12.2 sec 1.25 MBytes 860 Kbits/sec
Per agganciare un grafico Munin sul test iperf
si crea un plugin apposito, di nome iperf_. Lo script è derivato da quello presente sul sito munin-monitoring.org, ma è stato reso parametrico sulla durata e sulla scalatura del grafico.
Non essendo pacchettizzato Debian lo possiamo salvare in /usr/local/share/munin/plugins/iperf_
. Per attivarlo è sufficiente creare questo link simbolico:
ln -s /usr/local/share/munin/plugins/iperf_ /etc/munin/plugins/iperf_test.server.org
ATTENZIONE L'esecuzione del plugin deve avere una durata limitata, altrimenti viene ucciso da Munin e l'output non viene ricevuto nè il grafico generato. Il limite di esecuzione predefinito è 10 secondi, nella configurazione in plugin-conf.d è possibile specificare un valore timeout
diverso.
Per configurare il plugin impostando il tempo di esecuzione e la scalatura del grafico si crea /etc/munin/plugin-conf.d/iperf_
con:
[iperf_test.server.org] env.iperf_time 10 env.upper_limit 1500000 timeout 30