Monitoraggio di sistemi con Munin: Difference between revisions

From RVM Wiki
Jump to navigation Jump to search
No edit summary
 
 
(6 intermediate revisions by the same user not shown)
Line 1: Line 1:
<hr>
'''SE SI HANNO PROBLEMI, CONSULTARE IL TROUBLESHOOTING SU http://munin.projects.linpro.no/wiki/Debugging_Munin'''
<hr>
<hr>
'''SE SI HANNO PROBLEMI, CONSULTARE IL TROUBLESHOOTING SU http://munin.projects.linpro.no/wiki/Debugging_Munin'''
<hr>
== Installazione Server ==
== Installazione Server ==


Line 39: Line 47:
Dopo 5 minuti si avrà il nuovo sistema online.
Dopo 5 minuti si avrà il nuovo sistema online.


== COnfigurazione di un plugin ==
== Abilitazione di un plugin ==
===Abilitare tutti i plugin utilizzabili===
* Per abilitare in massa i plugin:
echo "#!/bin/bash" > /tmp/munin-activate
chmod +x !$
sudo munin-node-configure --shell >> /tmp/munin-activate
sudo /tmp/munin-activate
rm !$
sudo invoke-rc.d munin-node restart
sudo -u munin /usr/bin/munin-cron
 
===Abilitazione di uno specifico plugin===
 
* I plugin disponibili sono in
 
/usr/share/munin/plugins
 
 
* Comandi generici per i plugin:
** ''autoconf'': dice se il plugin può funzionare
** ''config:'' mostra i parametri configurabili
** ''suggest'': mostra come può essere usato il plugin (ad esempio per i plugin che finiscono in "_" dice come è possibile richiamarli)
 
Ipotizziamo di voler installare il plugin "squid_cache"
 
* Verificare che il plugin possa essere installato:
 
sudo /usr/share/munin/plugins/squid_cache autoconf
 
Se la risposta è
yes
 
allora il plugin è installabile.
 
Se invece si ottiene un errore, allora occorre indagare.
 
Per esempio, è possibile leggere il sorgente del plugin, che di solito contiene istruzioni sul suo utilizzo.
 
* Verificare se il plugin funziona, cioè se si ottengono dei dati:
 
<pre>
sudo /usr/share/munin/plugins/squid_cache 
Maximum.value 5120000
Current.value 3071472
</pre>
 
Abilitare il plugin creando un link in /etc/munin/plugins:
 
cd /etc/munin/plugins
ln -s /usr/share/munin/plugins/squid_cache squid_cache
 
Verificare anche che il plugin funzioni quando richiamato da munin:
<pre>
sudo munin-run squid_cache
Maximum.value 5120000
Current.value 3071472
</pre>


Per abilitarlo, creare un link in /etc/munin/plugins
Riavviare munin-node per rendere attivo il nuovo plugin:


Abilitarlo con
  sudo /etc/init.d/munin-node restart
  sudo /etc/munin/plugins/nomeplugin autoconf yes


Riavviare munin-node
Forzare una lettura dei dati iniziale, per creare il grafico:
 
sudo -u munin munin-cron
 
Il nuovo grafico, magari vuoto, apparirà.
 
'''ATTENZIONE:''' se il link al grafico in testa pagina è in '''ROSSO''', significa che il plugin associato ha dei problemi: o non funziona, o non riceve dati, o è DEI VALORI FUORI LIMITE..
 
== Modifica dei parametri soglia o di configurazione di un plugin ==


Per cambiare i parametri di confogurazione, prima lsitarli:
Identificare quale è il parametro da impostare:


  sudo /etc/munin/plugins/nomeplugin config
  sudo /etc/munin/plugins/nomeplugin config
Line 60: Line 131:
Esempio:
Esempio:


  df._dev_sda1.warning 97
<pre>
  hddtemp_smartctl.hde.critical 41
sudo /usr/share/munin/plugins/df config
 
graph_title Filesystem usage (in %)
graph_args --upper-limit 100 -l 0
graph_vlabel %
graph_category disk
graph_info This graph shows disk usage on the machine.
_dev_md0.label /
_dev_md0.info / (ext3) -> /dev/md0
_dev_md0.warning 92
_dev_md0.critical 98
tmpfs_dev_shm.label /dev/shm
tmpfs_dev_shm.info /dev/shm (tmpfs) -> tmpfs
tmpfs_dev_shm.warning 92
tmpfs_dev_shm.critical 98
</pre>
 
Per cambiare il livello di warning per lo spazio libero, inserire
  df._dev_md0.warning 97
 
=== Plugin smart_ ===
 
'''ATTENZIONE''': il plugin contenuto in sarge è BUGGATO, in quanto non considera correttamente il RETURN VALUE di smartctl (vedi man smartctl).
 
Infatti considera come WARNING o CRITICAL in "smart_exit_status" un valore diverso da 0, ma non è così.
 
Ad esempio facendo '''smartctl -a /dev/hda; echo $?''' si può ottenere 64 (munin invece legge 6). 64 in binario è 1000000, quindi il bit 6 (vanno in ordine 6543210) indica che nel log del disco ci sono errori, ma il disco è ok (man smartctl)
 
'''Sostituirlo con una versione aggiornata prelevabile dal sito di munin (estrarre i sorgenti fare make e il plugin si trova in build/node/node.d)'''
 
Il plugin smart fornisce il grafico dei parametri di salute del disco.
 
Installare smartmontools e configurarlo (vedi wiki)
 
sudo apt-get install smartmontools
 
Verificare quali dischi è in grado di gestire:
 
<pre>
sudo /usr/share/munin/plugins/smart_ suggest
hdc
hda
</pre>
 
Creare i rispettivi link:
 
<pre>
cd /etc/munin/plugins
ln -s /usr/share/munin/plugins/smart_ smart_hda
ln -s /usr/share/munin/plugins/smart_ smart_hdc
 
'''Attenzione''': non sbagliare nome, altrimenti il plugin non funziona !
 
Vedere se funzionano:
 
<pre>
sudo ./smart_hda
Power_Cycle_Count.value 100
Current_Pending_Sector.value 200
Start_Stop_Count.value 100
Offline_Uncorrectable.value 200
Seek_Error_Rate.value 200
Reallocated_Event_Count.value 200
UDMA_CRC_Error_Count.value 200
Reallocated_Sector_Ct.value 200
Power_On_Hours.value 088
Calibration_Retry_Count.value 100
Spin_Up_Time.value 092
Spin_Retry_Count.value 100
Multi_Zone_Error_Rate.value 200
Raw_Read_Error_Rate.value 200
smartctl_exit_status.value 0
 
sudo ./smart_hdc
Spin_Retry_Count.value 252
Reallocated_Event_Count.value 253
Spin_Buzz.value 252
smartctl_exit_status.value 6
Shock_Count_Write_Opern.value 253
Seek_Time_Performance.value 250
Seek_Error_Rate.value 253
Soft_Read_Error_Rate.value 253
Spin_High_Current.value 252
Shock_Rate_Write_Opern.value 253
Multi_Zone_Error_Rate.value 253
Power_Off_Retract_Count.value 253
Current_Pending_Sector.value 253
Run_Out_Cancel.value 253
UDMA_CRC_Error_Count.value 199
Temperature_Celsius.value 253
Load_Cycle_Count.value 253
Hardware_ECC_Recovered.value 253
Power_Cycle_Count.value 252
Start_Stop_Count.value 253
Unknown_Attribute.value 253
Reallocated_Sector_Ct.value 253
Calibration_Retry_Count.value 252
TA_Increase_Count.value 253
Spin_Up_Time.value 252
Read_Channel_Margin.value 253
Offline_Seek_Performnce.value 187
Power_On_Minutes.value 225
</pre>
 
Verificare che funzinoni anche con munin-run:
 
<pre>
sudo munin-run smart_hda
Power_Cycle_Count.value 100
Current_Pending_Sector.value 200
Start_Stop_Count.value 100
...
smartctl_exit_status.value 0
...
sudo munin-run smart_hdc
Spin_Retry_Count.value 252
Reallocated_Event_Count.value 253
Spin_Buzz.value 252
..Power_On_Minutes.value 225
</pre>
 
Se non funziona, verificare:
 
Esiste in /etc/munin/plugin-conf.d/munin-node:
  [smart_*]
user root
group disk
 
I link dei nomi sono corretti ? Il link si deve chiamare '''smart'''_hda e NON smart''d''_hda.
 
=== Plugin squid_* ===
 
Seguire le istruzioni generali.
 
Assicurarsi che squi ascolti su 127.0.0.1:3128
<pre>
sudo netstat -anp | grep 3128
tcp        0      0 127.0.0.1:3128          0.0.0.0:*              LISTEN    25000/(squid)     
tcp        0      0 192.168.254.254:3128    0.0.0.0:*              LISTEN    25000/(squid)     
</pre>
 
Se non ascolta, il plugin non funziona.
 
===Plugin hddtemp_smartctl===
 
Seguire le istruzioni generali.
 
Non tutti gli hard disk mostrano come attributo smart la temperatura.
 
Verificarlo con:
sudo smartctl -a /dev/hda | grep 'Current Drive Temperature:\|Temperature_Celsius'
 
 
===Plugin postfix_mailstats===
 
C'è un errore nel plugin.
 
Correggere la riga 75 in:
 
    if (!$?)
 
Seguire le istruzioni generali
 
===Plugin sensors_===
 
Installare il support lm-sensors come indicato in [[Monitoraggio di temeperature, ventole e voltaggi con lm-sensors]], quindi:
 
Verificare che il plugin funzioni:


<pre>
sudo /usr/share/munin/plugins/sensors_ autoconf
yes
</pre>
Se così non fosse, non si è configurato bene il supporto lm-sensors
Verificare quali sensori sono misurabili:
<pre>
sudo /usr/share/munin/plugins/sensors_ suggest
fan
volt
temp
</pre>
Provarli:
<pre>
sudo ln -s /usr/share/munin/plugins/sensors_ /etc/munin/plugins/sensors_st
sudo /etc/munin/plugins/sensors_st
Use of uninitialized value in regexp compilation at ./sensors_st line 141.
</pre>
Questo plugin non va, eliminarlo:
sudo rm /etc/munin/plugins/sensors_st
Creare il link e verificare gli altri secondo le istruzioni generali.


== Abilitazione degli alert via email ==
== Abilitazione degli alert via email ==
Line 82: Line 349:


*[http://www.debianhelp.co.uk/munin.htm Monitoring Servers and Clients using Munin in Debian Linux]
*[http://www.debianhelp.co.uk/munin.htm Monitoring Servers and Clients using Munin in Debian Linux]
*[http://munin.projects.linpro.no/wiki/Debugging_Munin_plugins Debugging_Munin_plugins - Munin - Trac]

Latest revision as of 15:41, 2 March 2012


SE SI HANNO PROBLEMI, CONSULTARE IL TROUBLESHOOTING SU http://munin.projects.linpro.no/wiki/Debugging_Munin



SE SI HANNO PROBLEMI, CONSULTARE IL TROUBLESHOOTING SU http://munin.projects.linpro.no/wiki/Debugging_Munin


Installazione Server

Sulla macchina che farà da server web per la monitorizzazione delle altre, e che verrà a sua volta monitorizzata, installare i pacchetti client e server:

sudo apt-get install munin munin-node

Sistemare la configurazione di apache, in modo da accedere a /var/www/munin

Sopo 5 minuti, si avrò il grafico iniziale (tempo per eseguire i cron job).

Installazione altri Client

Il server ha indirizzo ip 192.168.0.9

Il client ha insirizzo ip 192.168.0.250

Sulla macchina client installare:

sudo apt-get install munin-node

Editare qui /etc/munin-node.conf aggiungendo:

allow ^192\.168\.0\.9$
allow ^192\.168\.0\.250$

Sul Server, creare il profilo inserendo in /etc/munin/munin.conf

[client1]
      address 192.168.0.250
      .....

Sul server aggiungere in /etc/munin/munin-node.conf:

allow ^192\.168\.0\.250$

Su entrambe le macchine riavviare munin-node:

sudo /etc/init.d/munin-node restart 

Dopo 5 minuti si avrà il nuovo sistema online.

Abilitazione di un plugin

Abilitare tutti i plugin utilizzabili

  • Per abilitare in massa i plugin:
echo "#!/bin/bash" > /tmp/munin-activate
chmod +x !$
sudo munin-node-configure --shell >> /tmp/munin-activate
sudo /tmp/munin-activate
rm !$
sudo invoke-rc.d munin-node restart
sudo -u munin /usr/bin/munin-cron

Abilitazione di uno specifico plugin

  • I plugin disponibili sono in
/usr/share/munin/plugins


  • Comandi generici per i plugin:
    • autoconf: dice se il plugin può funzionare
    • config: mostra i parametri configurabili
    • suggest: mostra come può essere usato il plugin (ad esempio per i plugin che finiscono in "_" dice come è possibile richiamarli)

Ipotizziamo di voler installare il plugin "squid_cache"

  • Verificare che il plugin possa essere installato:
sudo /usr/share/munin/plugins/squid_cache autoconf

Se la risposta è

yes

allora il plugin è installabile.

Se invece si ottiene un errore, allora occorre indagare.

Per esempio, è possibile leggere il sorgente del plugin, che di solito contiene istruzioni sul suo utilizzo.

  • Verificare se il plugin funziona, cioè se si ottengono dei dati:
sudo /usr/share/munin/plugins/squid_cache  
Maximum.value 5120000
Current.value 3071472

Abilitare il plugin creando un link in /etc/munin/plugins:

cd /etc/munin/plugins
ln -s /usr/share/munin/plugins/squid_cache squid_cache

Verificare anche che il plugin funzioni quando richiamato da munin:

sudo munin-run squid_cache 
Maximum.value 5120000
Current.value 3071472

Riavviare munin-node per rendere attivo il nuovo plugin:

sudo /etc/init.d/munin-node restart

Forzare una lettura dei dati iniziale, per creare il grafico:

sudo -u munin munin-cron

Il nuovo grafico, magari vuoto, apparirà.

ATTENZIONE: se il link al grafico in testa pagina è in ROSSO, significa che il plugin associato ha dei problemi: o non funziona, o non riceve dati, o è DEI VALORI FUORI LIMITE..

Modifica dei parametri soglia o di configurazione di un plugin

Identificare quale è il parametro da impostare:

sudo /etc/munin/plugins/nomeplugin config

Inserire in /etc/munin/muni.conf nella sezione dell'host considerato:

...
nomeplugin.parametro.cosa xx
...

Esempio:

sudo /usr/share/munin/plugins/df config

graph_title Filesystem usage (in %)
graph_args --upper-limit 100 -l 0
graph_vlabel %
graph_category disk
graph_info This graph shows disk usage on the machine.
_dev_md0.label /
_dev_md0.info / (ext3) -> /dev/md0
_dev_md0.warning 92
_dev_md0.critical 98
tmpfs_dev_shm.label /dev/shm
tmpfs_dev_shm.info /dev/shm (tmpfs) -> tmpfs
tmpfs_dev_shm.warning 92
tmpfs_dev_shm.critical 98

Per cambiare il livello di warning per lo spazio libero, inserire

df._dev_md0.warning 97

Plugin smart_

ATTENZIONE: il plugin contenuto in sarge è BUGGATO, in quanto non considera correttamente il RETURN VALUE di smartctl (vedi man smartctl).

Infatti considera come WARNING o CRITICAL in "smart_exit_status" un valore diverso da 0, ma non è così.

Ad esempio facendo smartctl -a /dev/hda; echo $? si può ottenere 64 (munin invece legge 6). 64 in binario è 1000000, quindi il bit 6 (vanno in ordine 6543210) indica che nel log del disco ci sono errori, ma il disco è ok (man smartctl)

Sostituirlo con una versione aggiornata prelevabile dal sito di munin (estrarre i sorgenti fare make e il plugin si trova in build/node/node.d)

Il plugin smart fornisce il grafico dei parametri di salute del disco.

Installare smartmontools e configurarlo (vedi wiki)

sudo apt-get install smartmontools

Verificare quali dischi è in grado di gestire:

sudo /usr/share/munin/plugins/smart_ suggest
hdc
hda

Creare i rispettivi link:

cd /etc/munin/plugins
ln -s /usr/share/munin/plugins/smart_ smart_hda
ln -s /usr/share/munin/plugins/smart_ smart_hdc

'''Attenzione''': non sbagliare nome, altrimenti il plugin non funziona !

Vedere se funzionano:

<pre>
sudo ./smart_hda 
Power_Cycle_Count.value 100
Current_Pending_Sector.value 200
Start_Stop_Count.value 100
Offline_Uncorrectable.value 200
Seek_Error_Rate.value 200
Reallocated_Event_Count.value 200
UDMA_CRC_Error_Count.value 200
Reallocated_Sector_Ct.value 200
Power_On_Hours.value 088
Calibration_Retry_Count.value 100
Spin_Up_Time.value 092
Spin_Retry_Count.value 100
Multi_Zone_Error_Rate.value 200
Raw_Read_Error_Rate.value 200
smartctl_exit_status.value 0

 sudo ./smart_hdc
Spin_Retry_Count.value 252
Reallocated_Event_Count.value 253
Spin_Buzz.value 252
smartctl_exit_status.value 6
Shock_Count_Write_Opern.value 253
Seek_Time_Performance.value 250
Seek_Error_Rate.value 253
Soft_Read_Error_Rate.value 253
Spin_High_Current.value 252
Shock_Rate_Write_Opern.value 253
Multi_Zone_Error_Rate.value 253
Power_Off_Retract_Count.value 253
Current_Pending_Sector.value 253
Run_Out_Cancel.value 253
UDMA_CRC_Error_Count.value 199
Temperature_Celsius.value 253
Load_Cycle_Count.value 253
Hardware_ECC_Recovered.value 253
Power_Cycle_Count.value 252
Start_Stop_Count.value 253
Unknown_Attribute.value 253
Reallocated_Sector_Ct.value 253
Calibration_Retry_Count.value 252
TA_Increase_Count.value 253
Spin_Up_Time.value 252
Read_Channel_Margin.value 253
Offline_Seek_Performnce.value 187
Power_On_Minutes.value 225

Verificare che funzinoni anche con munin-run:

sudo munin-run smart_hda
Power_Cycle_Count.value 100
Current_Pending_Sector.value 200
Start_Stop_Count.value 100
...
smartctl_exit_status.value 0
...
sudo munin-run smart_hdc
Spin_Retry_Count.value 252
Reallocated_Event_Count.value 253
Spin_Buzz.value 252
..Power_On_Minutes.value 225

Se non funziona, verificare:

Esiste in /etc/munin/plugin-conf.d/munin-node:

[smart_*]
user root
group disk

I link dei nomi sono corretti ? Il link si deve chiamare smart_hda e NON smartd_hda.

Plugin squid_*

Seguire le istruzioni generali.

Assicurarsi che squi ascolti su 127.0.0.1:3128

 sudo netstat -anp | grep 3128
tcp        0      0 127.0.0.1:3128          0.0.0.0:*               LISTEN     25000/(squid)       
tcp        0      0 192.168.254.254:3128    0.0.0.0:*               LISTEN     25000/(squid)       

Se non ascolta, il plugin non funziona.

Plugin hddtemp_smartctl

Seguire le istruzioni generali.

Non tutti gli hard disk mostrano come attributo smart la temperatura.

Verificarlo con: sudo smartctl -a /dev/hda | grep 'Current Drive Temperature:\|Temperature_Celsius'


Plugin postfix_mailstats

C'è un errore nel plugin.

Correggere la riga 75 in:

    if (!$?)

Seguire le istruzioni generali


Plugin sensors_

Installare il support lm-sensors come indicato in Monitoraggio di temeperature, ventole e voltaggi con lm-sensors, quindi:

Verificare che il plugin funzioni:

sudo /usr/share/munin/plugins/sensors_ autoconf
yes

Se così non fosse, non si è configurato bene il supporto lm-sensors

Verificare quali sensori sono misurabili:

sudo /usr/share/munin/plugins/sensors_ suggest
fan
volt
temp

Provarli:

sudo ln -s /usr/share/munin/plugins/sensors_ /etc/munin/plugins/sensors_st
sudo /etc/munin/plugins/sensors_st 
Use of uninitialized value in regexp compilation at ./sensors_st line 141.

Questo plugin non va, eliminarlo:

sudo rm /etc/munin/plugins/sensors_st

Creare il link e verificare gli altri secondo le istruzioni generali.

Abilitazione degli alert via email

Qualora un plugin abbia dei valori di warning e critical settati, può avvertire via email.

Inserire in /etc/munin/munin.conf

contacts me
contact.me.command mail -s "Munin notification ${var:host}" user@host.tld
contact.me.always_send warning critical

Riavviare munin-node

Riferimenti