User Tools

Site Tools


doc:appunti:linux:sa:munin

This is an old revision of the document!


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

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. FIXME Pare che il limite di esecuzione predefinito sia 60 secondi.

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
doc/appunti/linux/sa/munin.1399276121.txt.gz · Last modified: 2014/05/05 09:48 by niccolo