vsphere-ui comains about "Cannot retrieve the health service instance"
[2025-04-08T12:15:01.193+08:00] [ERROR] http-nio-5090-exec-2 com.vmware.vsan.client.services.ProxygenController (rf716-f8a1738d70fa) Service method encountered an error caused by: `Cannot retrieve the health service instance.` com.vmware.vsan.client.services.VsanUiLocalizableException: null
at com.vmware.vsphere.client.vsan.health.VsanHealthPropertyProvider.getVcHealthHealthSummary(VsanHealthPropertyProvider.java:160)
at com.vmware.vsphere.client.vsan.health.VsanHealthPropertyProvider.getVsanHealth(VsanHealthPropertyProvider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.vmware.vsan.client.services.ProxygenController.invokeService(ProxygenController.java:146)
at com.vmware.vsan.client.services.ProxygenController.invokeServiceWithJson(ProxygenController.java:70)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
......................
Caused by: com.vmware.vsan.client.services.VsanUiLocalizableException: null
at com.vmware.vsphere.client.vsan.health.VsanHealthPropertyProvider.getClusterHealthSummary(VsanHealthPropertyProvider.java:176)
at com.vmware.vsphere.client.vsan.health.VsanHealthPropertyProvider.getVcHealthHealthSummary(VsanHealthPropertyProvider.java:156)
... 209 common frames omitted
Caused by: com.vmware.vim.vmomi.client.exception.ConnectionException: https://<VCFQDN>443/analytics/cloudhealth/sdk invocation failed with "java.net.SocketTimeoutException: Read timed out"
at com.vmware.vim.vmomi.client.common.impl.ResponseImpl.setError(ResponseImpl.java:261)
at com.vmware.vim.vmomi.client.http.impl.HttpExchangeBase.setResponseError(HttpExchangeBase.java:356)
at com.vmware.vim.vmomi.client.http.impl.HttpExchange.invokeWithinScope(HttpExchange.java:57)
at com.vmware.vim.vmomi.client.http.impl.TracingScopedRunnable.run(TracingScopedRunnable.java:31)
at com.vmware.vim.vmomi.client.http.impl.HttpExchangeBase.run(HttpExchangeBase.java:57)
at com.vmware.vim.vmomi.client.http.impl.HttpProtocolBindingBase.executeRunnable(HttpProtocolBindingBase.java:227)
at com.vmware.vim.vmomi.client.http.impl.HttpProtocolBindingImpl.send(HttpProtocolBindingImpl.java:114)
at com.vmware.vim.vmomi.client.common.impl.MethodInvocationHandlerImpl$CallExecutor.sendCall(MethodInvocationHandlerImpl.java:693)
at com.vmware.vim.vmomi.client.common.impl.MethodInvocationHandlerImpl$CallExecutor.executeCall(MethodInvocationHandlerImpl.java:674)
at com.vmware.vim.vmomi.client.common.impl.MethodInvocationHandlerImpl.completeCall(MethodInvocationHandlerImpl.java:371)
at com.vmware.vim.vmomi.client.common.impl.MethodInvocationHandlerImpl.invokeOperation(MethodInvocationHandlerImpl.java:322)
at com.vmware.vim.vmomi.client.common.impl.MethodInvocationHandlerImpl.invoke(MethodInvocationHandlerImpl.java:195)
at com.sun.proxy.$Proxy1058.queryClusterHealthSummary(Unknown Source)
at com.vmware.vsphere.client.vsan.health.VsanHealthPropertyProvider.getClusterHealthSummary(VsanHealthPropertyProvider.java:172)
... 210 common frames omitted
Caused by: java.net.SocketTimeoutException: Read timed out
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.socketRead(SocketInputStream.java:116)
VMware vCenter Server 7.x
VMware vCenter Server 8.x
This behavior is typically triggered when vCenter (VCSA) experiences communication delays, especially when there's a time synchronization issue between the server accessing the vSphere Client (the jump server)and the VCSA itself.
Check the time difference between the VCSA and the jump server using the following command:
remote=$(curl -v --insecure --silent https://<vc-fqdn> 2>&1 | grep Date | sed -e 's/< Date: //' | xargs -I {} date -d {} "+%s" -u) && local=$(date +"%s" -u) && echo "Seconds difference between remote <vc-fqdn> and local : VCSA : $remote - Local : $local =" && echo $(($remote-$local))
If there is a time difference, either try with a different jump server. Or sync the jump server to the same NTP as VCSA.