La virtualizzazione è sempre più presente nelle infrastrutture aziendali e con se porta alcune crescenti necessità, una su tutte il monitoring degli host fisici per poter intervenire immediatamente in caso di rotture, malfunzionamenti o problematiche di varia natura.

VmWare mette a disposizione degli utenti applicativi adatti a gestire e monitorare gli host fisici tra cui il vmWare vCenter Server Appliance oppure il vCenter per Windows.
Molte sono le realtà che per questioni di costi o infrastruttura non possono permettersi l’installazione e il continuo funzionamento queste soluzioni.

Per assolvere al ruolo di monitoring , oltre alle soluzioni sopra citate, è possibile utilizzare alcuni script adHoc in eseguiti da Virtual Appliance fornita da VmWare stessa, ossia la vMA (vmWare vSphere Management Assistant ).

Tale appliance linux non comporta nessun costo in licenza aggiuntivo ed ha un minimo impatto hardware ( 1 cpu, 600Mb ram, <5Gb di HDD ), il che la rende perfetta per essere utilizzata in tutti quelli ambiti privi di vCenter per fattori HW, prestazionali o di costi aggiuntivi.

Il monitoring dell’host si basa sui sensori forniti da vmWare, risulta quindi fondamentale l’installazione del  bundle per i sensori e dei componenti software rilasciati dal fornitore HW oppure eventualmente l’installazione di vSphere tramite cd personalizzato dal fornitore hardware ( HP, DELL, IBM, Fujitsu ecc ).
Solo i sensori visualizzati a video nel client vSphere potranno essere monitorati.

Allo script originale http://blog.peacon.co.uk/wiki/Esx-health.pl  abbiamo aggiunto un sistema di invio mail tramite smtp autenticato e personalizzato i parametri per gestire tale funzionalità.

Come configurazione standard suggeriamo una duplicazione dello script per assolvere a un doppio ruolo:

  •  un check orario, che avvisa solo in caso di cambio di stato di un sensore
  • un report giornaliero

Nell’implementazione che vi proponiamo abbiamo già duplicato lo script come accennato sopra e utilizziamo software di editing testuale come VIM, nulla vieta di usare software analoghi.

–        Scaricare la vMA (VMware vSphere Management Assistant ) direttamente dal sito vmware
https://my.vmware.com/web/vmware/info/slug/datacenter_cloud_infrastructure/vmware_vsphere/5_1#drivers_tools
Al termine decomprimere lo zip.

–        In vSphere  client scegliere File -> “Deploy OVF from template”, ed espandere la vMA decompressa.
In personalizzazione scegliere disco thin per risparmiare spazio.

–        Accendere la VM ed effettuare la configurazione di base da menù ( ip, dns, gw, password utente ).
Il GW va impostato per ultimo altrimenti si sovrascrive!!

–        Scaricare “Authen-SASL-2.15.tar.gz” e “ESXiH-INFOVI.tar.gz”.

–        Tramite WINSCP, copiare “Authen-SASL-2.15.tar.gz” e “ESXiH-INFOVI.tar.gz” sulla root dell’utente.

–        Decomprimere i file

tar -xvf Authen-SASL-2.15.tar.gz
tar -xvf ESXiH-INFOVI.tar.gz

–        Spostare lo script e dare i permessi

sudo mv ESXiH.* /opt/

sudo chown root:root /opt/ESXiH.* -R

sudo chmod 770 /opt/ESXiH.* -R

–        Editare le configurazioni
Premere “i” per modificare;
Per salvare “ESC” “:wq”

sudo vi /opt/ESXiH.hourly/ESXiH.sh
sudo vi /opt/ESXiH.daily/ESXiH.sh
#!/bin/bash
#####
#Settings
#####

server=” “        #ESXi host hostname or IP.
username=”root”                 #ESXi host username.
password=” “             #ESXi host password.
mailhost=” “      #Hostname of IP of SMTP server with relay enabled.
maildomain=” “         #Domain of the email account sent from.
mailfrom=” “        #Address the email is sent from.
mailto=” “      #Address the email will be sent to.
cpuwarnpc=”100″                  #CPU utilisation warning. Default 75% i.e. 75
memwarnpc=”100″                  #RAM utilisation warning. Default 85% i.e. 85
dswarnpc=”25″                   #Datastore freespace remaining warning. Default 25% i.e. 25
dscriticalpc=”10″               #Datastore critical RED warning. Default 10% i.e. 10
warnofsnapshots=”no”            #Running VMs with snapshots alert. i.e. yes|no
exclude=””                      #Supress output matching string. i.e. “Power Supply|nfs-datastore”
warnonchange=”yes”              #Send email only on change since last run. i.e. yes|no
concise=”no”                    #Reduced output for viewing on hand-held devices. i.e. yes|no
healthlog=””                    #Path and filename of log if not using default.
statusfile=””                   #Name of file to store host alerts in (for use with –warnonchange)
mailuser=” “    # INFOVI – user for smtp autentication
mailpsw=” “        # INFOVI – password for smtp autentication
titleprefix=” “      # INFOVI – mail subject prefix ( DONT USE SPACE!!!!)

–        Installare l’autenticazione SMTP

cd Authen-SASL-2.15/
sudo perl Makefile.PL
sudo make
sudo make install

–        Aggiungere lo scritp a cron per l’esecuzione pianificata
“i” per editare, “ESC” “:wq” per salvare e uscire

sudo crontab -e

aggiungere in fondo al file

0 * * * * /opt/ESXiH.hourly/ESXiH.sh>/opt/ESXiH.hourly/run.log
0 0 * * * /opt/ESXiH.daily/ESXiH.sh>/opt/ESXiH.daily/run.log

–        Per testare lanciare

sudo /opt/ESXiH.hourly/ESXiH.sh
sudo /opt/ESXiH.daily/ESXiH.sh

Nel caso di un solo alimentatore installato o di sensori in stato sconosciuto, escluderli tramite il parametro exclude altrimenti verranno segnalati come in errore.

 

Se è necessario monitorare più host fisici basta duplicare le cartelle opt/ESXiH.hourly e /opt/ESXiH.daily, personalizzando gli script in esse contenuti e ovviamente duplicare e aggiornale le corrispondenti righe nel crontab.

Attenzione ad aggiornare le seguenti righe nei file ESXiH.sh

cd /opt/ESXiH2.daily

/usr/bin/perl /opt/ESXiH2.daily/esx-health.pl –server $se…….