Salta ai contenuti

VMware vSphere

Un vCenter Server e gli host che gestisce, o un host ESXi autonomo: host che smettono di rispondere, rimangono in modalità manutenzione o segnalano una salute rossa, macchine virtuali e i loro VMware Tools, datastore che si riempiono o diventano inaccessibili, e gli allarmi che vSphere stesso ha generato.

DumbMonit legge vSphere con un utente dedicato che detiene il ruolo integrato Read-only. Non spegne mai una VM, non entra mai in modalità manutenzione e mai riconosce un allarme.

Il guasto che vale la pena osservare: un datastore che si riempie. Quando un datastore con thin provisioning raggiunge il 100%, ogni VM che ha bisogno di scrivere su di esso viene messa in pausa all’istante. Gli allarmi che vCenter genera lo dicono anche, ma solo a chiunque abbia il client aperto.

DumbMonit parla all’API Web Services di vSphere (SOAP, /sdk), non all’API REST (/api/vcenter/*): un host ESXi autonomo non ha API REST, e su un vCenter l’API REST non dice la modalità manutenzione, la salute complessiva (overallStatus), lo stato di VMware Tools o gli allarmi attivati. Una vista dell’intero inventario viene letta in un singolo passaggio, pagina per pagina, e rilasciata alla fine.

La sessione viene mantenuta da una sonda all’altra e riaprerte solo quando scade: vCenter non registra un nuovo login ogni minuto.

Tutte le metriche hanno il prefisso dumbmonit_vsphere_. I valori di salute seguono il overallStatus di vSphere: 0 verde, 1 giallo, 2 rosso, 3 grigio (sconosciuto).

MetricaCosaEtichette
infovalore 1product (vcenter o esxi), version, build
hostshost per stato di connessione: connected, disconnected, notRespondingstate
host_connection_state0 connesso, 1 disconnesso da un amministratore, 2 non rispondenteesxi
host_power_state0 acceso, 1 standby, 2 spento, 3 sconosciutoesxi
host_maintenance1 in modalità manutenzioneesxi
host_statussalute complessivaesxi
host_cpu_percent, host_memory_percent, host_memory_bytes, host_uptime_secondssolo host connessiesxi
vmsVM per stato di alimentazione: poweredOn, poweredOff, suspended (template esclusi)state
templatestemplate di VM
vm_power_state0 accesa, 1 spenta, 2 sospesa; al massimo 1000 VMvm
vm_statussalute complessivavm
vm_tools_statussolo VM accese: 0 aggiornate, 1 versione obsoleta, 2 installate ma non in esecuzione, 3 non installatevm
datastoresdatastore
datastore_capacity_bytes, datastore_free_bytes, datastore_used_percentdatastore
datastore_accessible1 accessibile, 0 inaccessibiledatastore
datastore_statussalute complessivadatastore
alarmsallarmi attivati non riconosciuti, per colore: red, yellowstatus
alarms_acknowledgedallarmi attivati già riconosciuti
alarmuna serie per allarme non riconosciuto, valore = il suo codice di salute, al massimo 64alarm (il suo nome), entity, entity_type, status
scrape_errorschiamate che hanno fallito durante l’ultimo probe

Le regole integrate che si applicano: host vSphere non rispondente, salute host vSphere rossa, host vSphere lasciato in manutenzione, datastore vSphere quasi pieno, datastore vSphere inaccessibile, VM vSphere tools non in esecuzione, allarme vSphere rosso, più monitor irraggiungibile.

Il pannello sopra i grafici legge quello che la sonda ha memorizzato; aprire la pagina non interroga mai vSphere. Dice per primo cosa è sbagliato (host non rispondenti, allarmi rossi, datastore quasi pieni o inaccessibili), quindi gli host con il loro carico, i datastore con il loro livello di riempimento, e le VM per stato di alimentazione.

Contro il simulatore govmomi vcsim 0.56.0, in modalità vCenter ed ESXi: accesso e password rifiutata, riutilizzo della sessione e scadenza, paging attraverso l’inventario, un host non rispondente, un host in modalità manutenzione, una VM spenta e un template. Il simulatore non genera allarmi: la lettura degli allarmi attivati è convalidata rispetto alla struttura AlarmState documentata dell’API Web Services.

  1. Su un vCenter: Administration → Single Sign On → Users and Groups → Users, dominio vsphere.local → Add. Denomina l’utente come segue e assegnagli una lunga password casuale.

    dumbmonit
  2. Ancora su vCenter: Administration → Access Control → Global Permissions → Add. Scegli quell’utente, il ruolo Read-only, e spunta Propagate to children. Read-only vede ogni host, VM, datastore e allarme, e non può cambiare nulla.

  3. Su un host ESXi autonomo invece: nel client dell’host, Manage → Security & users → Users → Add user, con lo stesso nome. Poi Host → Actions → Permissions → Add user: sceglilo, il ruolo Read-only, e spunta Propagate to all children.

  4. In DumbMonit, inserisci l’indirizzo del vCenter o dell’host, ad esempio “vcenter.lan” o “esxi1.lan”, con il nome utente come creato: dumbmonit@vsphere.local su un vCenter, dumbmonit su un host. Quando un vCenter gestisce gli host, aggiungi solo il vCenter: segnala ogni host, VM e datastore.

  5. DumbMonit legge solo, attraverso l’API Web Services di vSphere (/sdk). Non spegne mai una VM, non entra mai in modalità manutenzione e mai riconosce un allarme.

CredenzialeCampi
Nome utente / passwordL’utente dedicato con il ruolo Read-only: dumbmonit@vsphere.local su un vCenter, dumbmonit su un host.

Indirizzo: un nome host o IP (vcenter.lan), host:port, o un URL completo; un /sdk o /ui finale è accettato. Opzioni: porta (443), verifica certificato, timeout delle richieste (20 s) e allarmi attivati (lettura).