About vSphere HA
The vSphere High Availability (HA) feature
for ESXi hosts in a cluster provides protection for a guest OS and its
applications, by restarting the virtual machine if a guest OS or application
failure occurs. The HA feature provides this reset capability using two
different mechanisms:
- VM Monitoring – Guest OS heartbeats issued by the VMware Tools process.
- Application Monitoring – Heartbeats issued by a program that uses the HA Application Monitoring SDK to communicate with the VMware Tools process and the vSphere HA agent. This mechanism involves local monitoring by the program to avoid the overhead of sending messages to and from vCenter Server.
Additionally, the in-guest agent can set state to indicate it needs
an immediate reset. This can be done without enabling heartbeats. The HA Application
monitoring facility can reset the guest OS when ready to do so, if the in-guest agent
has not changed state to say reset is no longer needed.
The application monitoring program sends an enable request to start
the monitoring, possibly followed by a heartbeat signal. The vSphere infrastructure
passes the signal up from your HA application monitoring program to the virtual machine,
and then to the ESXi host. The HA application monitoring facility will reset the virtual
machine if the application monitoring program stops sending a heartbeat signal, or
requests a reset.
Using the HA Application Monitoring SDK, developers can write HA
application monitoring programs in the C or C++ language. The HA Application Monitoring
API is available with C/C++ language bindings only.
The following figure depicts the monitoring and
reset capability of host and virtual machine.
Heartbeat and status
signals

For more information about vSphere HA and
application monitoring, see the
vSphere Availability
guide in the
vSphere Documentation Center.