Earlier this week while trying to establish some potential bottle-necks on our VMware ESXi servers, I noticed an odd issue with the performance tab. When clicking on performance, the “Overview” tab would throw a generic browser type error about not being able to connect. Clicking on the detailed view seemed to work just fine. Doing some stumbling around, I fell upon KB1014454.
This pointed out the potential error was that the web service that hosted the performance data wasn’t running. A quick check from the server showed the machine wasn’t listening on the listed port 8443. This is handled by the “vCenter Web Management Services” service, and a quick peek showed the service wasn’t running. That’s easy, a quick right click and start and we should be good to go again… Right? In this case, wrong. When attempting to start the service, Windows reported the service failed to start, and looking in the Windows event log, we were presented with the error:
VMware VirtualCenter Management Webservices service terminated with service-specific error 0
Some more searching around, and I stumbled on a gem over at the ‘Virtualization Spotlight’ blog. The post points to the Tomcat logs on the server showing an issue with starting the Tomcat service. Digging into the Tomcat logs, and I was seeing the same error:
[994 prunsrv.c] [error] Failed creating java [1269 prunsrv.c] [error] ServiceStart returned 1
Failed to create java? The second hint in the post is referencing the path to java.dll. After some thinking I tried to remember when I last saw this working, and I think it was right after upgrading ESXi 4.0 to 4.0U3. Did the upgrade remove a path reference? Maybe, the solution is simple, just put it back.
Unfortunately it appears JRE had disappeared, maybe it was supposed to be upgraded as part of U3 update, but it wasn’t there any more. So I reinstalled JRE again. I grabbed a copy from the Oracle site here using the latest v6 update1, and installed it into the path
C:\Program Files\VMware\Infrastructure\jre\. Once installed, I attempted to restart the service, and it came up immediately. This also got the performance overview tab working again too.
At the time of writing this was Java SE 6 Update 27.↩