User Tools

Site Tools


doc:appunti:linux:sa:munin

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
doc:appunti:linux:sa:munin [2014/05/02 12:22] – [Monitoraggio banda con iperf] niccolodoc:appunti:linux:sa:munin [2023/11/15 18:59] (current) – [Munin] niccolo
Line 4: Line 4:
  
 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/*''**. 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/*''**.
 +
 +Per la visualizzazione dei grafici è necessario installare il pacchetto **libcgi-fast-perl**, che non risulta come dipendenza di munin nel pacchetto Debian 12 Bookworm (è solo raccomandato).
 +
  
 ===== Plugin ===== ===== Plugin =====
Line 9: Line 12:
 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: 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_''+  * **libdbi-perl** e **libdbd-pg-perl** per il plugin ''postgres_streaming_''
  
 ===== Permessi ===== ===== Permessi =====
Line 31: Line 34:
 group list group list
 </file> </file>
 +
 +===== Appunti su monitoraggio traffico rete =====
 +
 +Il grafico **network traffic** mostra il traffico:
 +
 +  * **upload** traffico trasmesso, **positivo** (generato dall'interfaccia)
 +  * **download** traffico ricevuto, **negativo**
 +
 +Il plugin che effettua la misurazione **non utilizza snmpd**, ma va direttamente a leggere i valori da **''/sys/class/net/{interface}/statistics/{tx|rx}_bytes''**
 +
 +I dati rrd (byte rx/tx) sono memorizzati nel file **''/var/lib/munin/localdomain/localhost.localdomain-if_{interface}-{up|down}-d.rrd''**.
  
 ===== Aggiungere un'interfaccia di rete ===== ===== Aggiungere un'interfaccia di rete =====
Line 56: Line 70:
 Dopo il cambiamento riavviare il servizio **munin-node**. 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:
 +
 +<code>
 +ln -s /usr/share/munin/plugins/ping_ /etc/munin/plugins/ping_remote.server.org
 +</code>
 +
 +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:
 +
 +<file>
 +[ping_*]
 +env.ping_args      -c 5
 +
 +[ping_remote.server.org]
 +env.ping_args      -c 10
 +</file>
 +
 +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 ===== ===== Monitoraggio banda con iperf =====
 +
 +FIXME **ATTENZIONE**: Attualmente (Debian Wheezy 7.3) **questa soluzione non è usabile!** 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 [[http://www.linuxquestions.org/questions/linux-software-2/iperf-cpu-usage-at-100-a-747813/|post]] e [[http://osdir.com/ml/network.iperf.user/2008-05/msg00001.html|quest'altro]]. FIXME
  
 Con **iperf** è possibile monitorare la larghezza di banda TCP o UDP, con Munin è possibile trasformare queste misure in grafico. Con **iperf** è possibile monitorare la larghezza di banda TCP o UDP, con Munin è possibile trasformare queste misure in grafico.
Line 75: Line 110:
 </code> </code>
  
-Per agganciare un grafico Munin sul test ''iperf'' si crea un [[http://munin-monitoring.org/browser/munin-contrib/plugins/network/iperf_|plugin]] apposito. Non essendo pacchettizzato Debian lo possiamo salvare in **''/usr/local/share/munin/plugins/''**. Per attivarlo è sufficiente creare questo link simbolico:+Per agganciare un grafico Munin sul test ''iperf'' si crea un plugin apposito, di nome **{{iperf_.txt|iperf_}}**. Lo script è derivato da quello presente sul sito [[http://munin-monitoring.org/browser/munin-contrib/plugins/network/iperf_|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:
  
 <code> <code>
Line 81: Line 118:
 </code> </code>
  
-FIXME Come configurare per ogni host dei parametri diversi? Invece che hard-coded si vorrebbe specificre almeno **''%%--time%%''** (tempo si esecuzione di iperf) e **''%%--upper-limit%%''** (limite superiore del grafico).+**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 [[http://munin-monitoring.org/wiki/plugin-conf.d|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: 
 + 
 +<file> 
 +[iperf_test.server.org] 
 +env.iperf_time    10 
 +env.upper_limit   1500000 
 +timeout           30 
 +</file> 
 + 
 +===== Monitoraggio banda con nuttcp ===== 
 + 
 +Considerato il problema di ''iperf'' (vedi paragrafo sopra), si è provato con **nuttcp**. Anche questo funziona in tecnologia client/server, con impostazione predefinita sulla porta **5000 5001 TCP**
 + 
 +Sul server si installa l'omonimo pacchetto Debian e si crea uno script start/stop opportuno. 
 + 
 +Sul client si configura un plugin per Munin **{{nuttcp_.txt|nuttcp_}}** con link simbolico come visto sopra. Quindi si crea un file di configurazione **''/etc/munin/plugin-conf.d/nuttcp_''**
 + 
 +<file> 
 +[nuttcp_test.server.org] 
 +env.nuttcp_time   15 
 +env.upper_limit   1500000 
 +timeout           30 
 +</file> 
 + 
 +===== Monitoraggio servizio Apache ===== 
 + 
 +Munin fornisce tre plugin per monitorare un processo web server Apache: **apache_accesses**, **apache_processes** e **apache_volume**. Questi sono inclusi nel pacchetto Debian **munin-plugins-core**. Tuttavia Debian (almeno nella versione 11.8 Bullseyenon installa automaticamente la dipendenza dalla libreria Perl **LWP::UserAgent** fornita dal pacchetto **libwww-perl**, che va quindi installato manualmente. 
 + 
 +Una volta installato il tutto è sufficiente creare i link simbolici: 
 + 
 +<code> 
 +ln -s /usr/share/munin/plugins/apache_accesses /etc/munin/plugins/apache_accesses 
 +ln -s /usr/share/munin/plugins/apache_processes /etc/munin/plugins/apache_processes 
 +ln -s /usr/share/munin/plugins/apache_volume /etc/munin/plugins/apache_volume 
 +</code> 
 + 
 +Per verificare se Apache è configurato correttamente per dare accesso alle statistiche, provare ad accedere all'URL specifico, ad esempio con wget: 
 + 
 +<code> 
 +wget -O status.txt "http://localhost/server-status?auto" 
 +</code> 
 + 
 +Per verificare che il plugin funzioni, è sufficiente eseguirlo da riga di comando: 
 + 
 +<code> 
 +/usr/share/munin/plugins/apache_accesses 
 +accesses80.value 21617 
 +</code> 
 + 
doc/appunti/linux/sa/munin.1399026132.txt.gz · Last modified: 2014/05/02 12:22 by niccolo