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
Last revisionBoth sides next revision
doc:appunti:linux:sa:munin [2014/05/02 12:22] – [Monitoraggio banda con iperf] niccolodoc:appunti:linux:sa:munin [2023/10/17 09:48] – [Monitoraggio servizio Apache] niccolo
Line 9: Line 9:
 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 31:
 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 67:
 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 107:
 </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 115:
 </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.txt · Last modified: 2023/11/15 18:59 by niccolo