Monitoraggio di sistemi Windows con Munin
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