Monitoraggio di sistemi Windows con Munin

From RVM Wiki
Jump to navigation Jump to search

Si monitorano via snmp.

Installazione Servizio SNMP sulla macchina Windows

Todo

Installazione librerie Net::SNMP sul server Linux

sudo apt-get install libnet-snmp-perl

Configurazione Munin

Supponiamo che si voglia monitorare il server che si chiama

rvmserver.rvmgroup.local

ATTENZIONE: deve essere raggiungibile per nome dalla macchina linux. Provare:

ping rvmserver.rvmgroup.local

Inserire l'host in /etc/munin/munin.conf:

...
[rvmserver.rvmgroup.local]
    address 127.0.0.1
...

L'indirizzo è quello locale, perchè le query snmp partono da qui.

Configurazione dei plugin

Partiamo con l'esempio per df (attenzione ai due underscore):

sudo ln -s /usr/share/munin/plugins/snmp__df /etc/munin/plugins/snmp_rvmserver.rvmgroup.local_df

Verifichiamo se legge:

sudo /etc/munin/plugins/snmp_rvmserver.rvmgroup.local_df         
pf_.value 71.0901001713506
pc_.value 59.8106949313884
pd_.value 52.8098694982064
pe_.value 71.6573697202735


Verifichiamo se anche munin riesce a leggerlo:

sudo munin-run snmp_rvmserver.rvmgroup.local_df 
pf_.value 71.0901001713506
pc_.value 59.8106949313884
pd_.value 52.8098694982064
pe_.value 71.6573697202735

Ok

Riavviamo munin-node e forziamo l'esecuzione delle letture:

sudo /etc/init.d/munin-node restart
Stopping munin-node: done.
Starting munin-node: done.

sudo -u munin munin-cron

E' possibile configurare tutte le letture supportate lanciando:

sudo munin-node-configure-snmp rvmserver.rvmgroup.local

Si ottengono i comandi per abilitare i plugin supportati:

ln -s /usr/share/munin/plugins/snmp__if_err_ /etc/munin/plugins/snmp_rvmserver.rvmgroup.local_if_err_16777219
ln -s /usr/share/munin/plugins/snmp__if_ /etc/munin/plugins/snmp_rvmserver.rvmgroup.local_if_16777219
ln -s /usr/share/munin/plugins/snmp__processes /etc/munin/plugins/snmp_rvmserver.rvmgroup.local_processes
ln -s /usr/share/munin/plugins/snmp__users /etc/munin/plugins/snmp_rvmserver.rvmgroup.local_users

Eseguire tutto in una volta:

sudo munin-node-configure-snmp rvmserver.rvmgroup.local > /tmp/crea_link; chmod +x /tmp/crea_link; sudo /tmp/crea_link; sudo /etc/init.d/munin-node restart; sudo -u munin munin-cron; sudo rm -f /tmp/crea_link

Infatti:

ls /etc/munin/plugins/snmp_rvmserver.rvmgroup.local*lrwxrwxrwx  1 root root 33 2006-12-02 18:44 /etc/munin/plugins/snmp_rvmserver.rvmgroup.local_df -> /usr/share/munin/plugins/snmp__df
lrwxrwxrwx  1 root root 34 2006-12-02 19:17 /etc/munin/plugins/snmp_rvmserver.rvmgroup.local_if_16777219 -> /usr/share/munin/plugins/snmp__if_
lrwxrwxrwx  1 root root 38 2006-12-02 19:17 /etc/munin/plugins/snmp_rvmserver.rvmgroup.local_if_err_16777219 -> /usr/share/munin/plugins/snmp__if_err_
lrwxrwxrwx  1 root root 40 2006-12-02 19:17 /etc/munin/plugins/snmp_rvmserver.rvmgroup.local_processes -> /usr/share/munin/plugins/snmp__processes
lrwxrwxrwx  1 root root 36 2006-12-02 19:17 /etc/munin/plugins/snmp_rvmserver.rvmgroup.local_users -> /usr/share/munin/plugins/snmp__users

Se si ottiene l'errore:

Can't call method "translate" on an undefined value at /usr/sbin/munin-node-configure-snmp line 168, <PLUG> line 42.

Controllare che il nome dell'host sia giusto ( Vedi #86 munin-node-configure-snmp not checking errors - Munin - Trac) e sia raggiungibile, e che abbia SNMP installato e funzionante.

Aggiunta di plugins

Ci sono dei plugin aggiuntivi su http://muninexchange.projects.linpro.no

snmp__cpu

Fare così:


cd /tmp
wget "http://muninexchange.projects.linpro.no/download.php?phid=23" -O snmp__cpu
chmod +x snmp__cpu
http://muninexchange.projects.linpro.no

Testarlo:

./snmp_rvmserver.rvmgroup.local_cpu      
cpu5.value 87

Ok, va.

Copiarlo come plugin:

sudo cp snmp__cpu /usr/share/munin/plugins/
sudo chown root:root /usr/share/munin/plugins/snmp__cpu

Attivarlo:

sudo ln -s /usr/share/munin/plugins/snmp__cpu /etc/munin/plugins/snmp_rvmserver.rvmgroup.local_cpu

Riavviare munin-node

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


Riferimenti