Monitoraggio di sistemi con Munin

From RVM Wiki
Jump to navigation Jump to search

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

  • 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_

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