Affected Products
VMware vCenter Server (7.x & 8.x)
VMware vSphere ESXi (7.x & 8.x)
Issue Summary
ESXi hosts showing up as "Not Responding" in your vCenter Server?
Seeing frequent disconnects or odd gaps in heartbeat communication?
vCenter logs looks like :
[verbose 'App'] [VpxdIntHost] Missed 2 heartbeats for host esx.vlookuphub.com
This is a common issue where the vCenter Server stops receiving heartbeats from the ESXi hosts, causing them to appear offline or disconnected.
Root Cause :
Here's what’s going on behind the scenes:
Every ESXi host sends a UDP heartbeat every 10 seconds to vCenter.
If vCenter doesn't receive at least one heartbeat within 60 seconds, it flags the host as "not responding".
Most often, this is due to network latency or firewall issues, especially if UDP port 902 is being blocked or restricted.
Note: If disconnects happen exactly every 60 seconds, it’s likely a firewall or network policy issue.
Verify Heartbeat Flow : Let’s check if heartbeats are making it through the network.
From the ESXi Host (SSH)
Run this command to confirm if the host is sending heartbeat packets:
tcpdump-uw dst host <vcenter_ip_address> and udp port 902
From the vCenter Server (SSH)
Check if vCenter is actually receiving them:
tcpdump src host <esxi_host_ip_address> and udp port 902
Next Steps Based on Your Findings.
Case 1: Packets sent but not received
There's likely a network block or firewall between vCenter and the host.
Ensure UDP port 902 is allowed bi-directionally.
Case 2: Packets not sent
Check the ESXi services and logs. There might be issues with the management agents.
Case 3: Packets both sent and received
Investigate further on the vCenter side. Something else might be causing the disconnects.
Additional Connectivity Check (Optional)
You can test basic connectivity on TCP 902 using:
"curl -v telnet://<esxi_host_ip_address>:902"
Note: While heartbeats use UDP 902, this command checks TCP-level connectivity, which can still be useful for firewall validation.
Temporary Workaround: Increase Heartbeat Timeout.
If you’re in a bind and need to stabilize things temporarily, you can increase the timeout window in vCenter:
How to Change the Timeout Value (via vSphere html Client)
- Open vSphere Client in a browser and log in.
- Navigate to your vCenter object under Hosts and Clusters.
- Go to Configure > Settings > Advanced Settings.
- Click Edit and add the following:
Key: config.vpxd.heartbeat.notRespondingTimeout
- Value: 120 (seconds – adjust if needed)
- Click Add, then OK.
- Restart the vCenter Server service:
- service-control --stop vmware-vpxd && service-control --start vmware-vpxd
Important: This is just a workaround. Be sure to fix any underlying network issues to prevent future disconnects.