VM Monitoring is sub-component of VMware HA, and is an optional feature. It can be used to inspect the state of virtual machines, and based on the result reboot them if they appear to have become unresponsive. The default is VM Monitoring is disabled, and some customer prefer this because they are anxious about vSphere 'getting it wrong' and unnecessarily rebooting VMs. This is because VM Monitoring inspects the VMware Tools "Heartbeat Service" and uses a successive lack of responses to determine if a VM is stalled or not. Significant work has been undertaken by VMware to lessen this concern - so in-conjunction with the heartbeat, VM Monitoring now inspect IO activity. The assumption is that if the heartbeat returns no answer AND no disk IO activity is taking place, there's good likelihood that the VM has halted with either a kernel panic in Linux or Blue Screen of Death (BSOD) in Windows.
 
VM Monitoring is sub-component of VMware HA, and is an optional feature. It can be used to inspect the state of virtual machines, and based on the result reboot them if they appear to have become unresponsive. The default is VM Monitoring is disabled, and some customer prefer this because they are anxious about vSphere 'getting it wrong' and unnecessarily rebooting VMs. This is because VM Monitoring inspects the VMware Tools "Heartbeat Service" and uses a successive lack of responses to determine if a VM is stalled or not. Significant work has been undertaken by VMware to lessen this concern - so in-conjunction with the heartbeat, VM Monitoring now inspect IO activity. The assumption is that if the heartbeat returns no answer AND no disk IO activity is taking place, there's good likelihood that the VM has halted with either a kernel panic in Linux or Blue Screen of Death (BSOD) in Windows.
   Exception encountered, of type "Error"
[4652bacd] /vmwiki/index.php?title=High_Availability_(HA)&diff=prev&oldid=1854 Error from line 434 of /home/wp_zdjm9n/michellelaverick.com/vmwiki/includes/diff/DairikiDiff.php: Call to undefined function each()
Backtrace:
#0 /home/wp_zdjm9n/michellelaverick.com/vmwiki/includes/diff/DairikiDiff.php(544): DiffEngine->diag(integer, integer, integer, integer, integer)
#1 /home/wp_zdjm9n/michellelaverick.com/vmwiki/includes/diff/DairikiDiff.php(344): DiffEngine->compareSeq(integer, integer, integer, integer)
#2 /home/wp_zdjm9n/michellelaverick.com/vmwiki/includes/diff/DairikiDiff.php(227): DiffEngine->diffLocal(array, array)
#3 /home/wp_zdjm9n/michellelaverick.com/vmwiki/includes/diff/DairikiDiff.php(721): DiffEngine->diff(array, array)
#4 /home/wp_zdjm9n/michellelaverick.com/vmwiki/includes/diff/DairikiDiff.php(859): Diff->__construct(array, array)
#5 /home/wp_zdjm9n/michellelaverick.com/vmwiki/includes/diff/DairikiDiff.php(980): MappedDiff->__construct(array, array, array, array)
#6 /home/wp_zdjm9n/michellelaverick.com/vmwiki/includes/diff/TableDiffFormatter.php(194): WordLevelDiff->__construct(array, array)
#7 /home/wp_zdjm9n/michellelaverick.com/vmwiki/includes/diff/DiffFormatter.php(140): TableDiffFormatter->changed(array, array)
#8 /home/wp_zdjm9n/michellelaverick.com/vmwiki/includes/diff/DiffFormatter.php(82): DiffFormatter->block(integer, integer, integer, integer, array)
#9 /home/wp_zdjm9n/michellelaverick.com/vmwiki/includes/diff/DifferenceEngine.php(910): DiffFormatter->format(Diff)
#10 /home/wp_zdjm9n/michellelaverick.com/vmwiki/includes/diff/DifferenceEngine.php(828): DifferenceEngine->textDiff(string, string)
#11 /home/wp_zdjm9n/michellelaverick.com/vmwiki/includes/poolcounter/PoolCounterWorkViaCallback.php(69): DifferenceEngine->{closure}()
#12 /home/wp_zdjm9n/michellelaverick.com/vmwiki/includes/poolcounter/PoolCounterWork.php(123): PoolCounterWorkViaCallback->doWork()
#13 /home/wp_zdjm9n/michellelaverick.com/vmwiki/includes/diff/DifferenceEngine.php(841): PoolCounterWork->execute()
#14 /home/wp_zdjm9n/michellelaverick.com/vmwiki/includes/diff/DifferenceEngine.php(797): DifferenceEngine->generateTextDiffBody(string, string)
#15 /home/wp_zdjm9n/michellelaverick.com/vmwiki/includes/diff/DifferenceEngine.php(728): DifferenceEngine->generateContentDiffBody(WikitextContent, WikitextContent)
#16 /home/wp_zdjm9n/michellelaverick.com/vmwiki/includes/diff/DifferenceEngine.php(662): DifferenceEngine->getDiffBody()
#17 /home/wp_zdjm9n/michellelaverick.com/vmwiki/includes/diff/DifferenceEngine.php(632): DifferenceEngine->getDiff(string, string, string)
#18 /home/wp_zdjm9n/michellelaverick.com/vmwiki/includes/diff/DifferenceEngine.php(453): DifferenceEngine->showDiff(string, string, string)
#19 /home/wp_zdjm9n/michellelaverick.com/vmwiki/includes/page/Article.php(797): DifferenceEngine->showDiffPage(boolean)
#20 /home/wp_zdjm9n/michellelaverick.com/vmwiki/includes/page/Article.php(508): Article->showDiffPage()
#21 /home/wp_zdjm9n/michellelaverick.com/vmwiki/includes/actions/ViewAction.php(44): Article->view()
#22 /home/wp_zdjm9n/michellelaverick.com/vmwiki/includes/MediaWiki.php(490): ViewAction->show()
#23 /home/wp_zdjm9n/michellelaverick.com/vmwiki/includes/MediaWiki.php(287): MediaWiki->performAction(Article, Title)
#24 /home/wp_zdjm9n/michellelaverick.com/vmwiki/includes/MediaWiki.php(714): MediaWiki->performRequest()
#25 /home/wp_zdjm9n/michellelaverick.com/vmwiki/includes/MediaWiki.php(508): MediaWiki->main()
#26 /home/wp_zdjm9n/michellelaverick.com/vmwiki/index.php(41): MediaWiki->run()
#27 {main}