ESXTOP is one of the most versatile and popular tool in the VI Administrators tool belt when it comes to real time performance analysis and data collection in a vSphere environment. In fact, ESXTOP also came up in the most recent episode of the VirtuallySpeaking Podcast covering the Top 10 Tools for VI Administrators, which Duncan Epping and I had the pleasure to be part of.

To use ESXTOP, you are required to SSH to an ESXi host as it is only available in the ESXi Shell. Traditionally, this has not been a huge issue for on-premises environment, especially as you can enable access when you needed to run ESXTOP. However, when operating on VMware Cloud on AWS (VMC), customers no longer have to worry about managing the underlying infrastructure and can now focus on being a consumer of the VMware SDDC. One side affect of this operational change is that customers do not have direct access to ESXi and would not be able to use ESXTOP.

With that said, the use case for ESXTOP is still very important and with VMC you can still access the exact same ESXTOP data by simply using the "remote" version of the CLI called RESXTOP, which has been shipping with the vSphere CLI for a number of years now. There are a number of benefits with using RESXTOP, the first is that SSH access is not required and in most customers environment, SSH access to ESXi is actually disabled by default, just like it is in VMC. Secondly, you do not have to connect directly to an ESXi host, you can simply connect to a vCenter Server and then specify the ESXi host that you wish to run ESXTOP on and provide your vCenter credentials which can then be controlled through vCenter's Role Based Access Control (RBAC). With vCenter Server support, it also means from a connectivity standpoint, you only need access to port 443, which simplifies network access as this is required for both UI and API connectivity to vCenter Server.

Note: RESXTOP is currently only available as part of vSphere CLI for Linux, it is not available on the Windows version. However, you can use my RESXTOP Docker Container if you need to access it on a Windows system.

Here is a screenshot of using RESXTOP on an Ubuntu 16.04 guest to connect to my VMC instance



Once you have authenticated with your vCenter credentials, ESXTOP will launch as if you were running locally in the ESXi Shell, the experience is exactly the same.



RESXTOP can be installed and run on a number of GuestOSes and for detailed instructions, be sure to check out the vSphere CLI Getting Started documentation.

UPDATE (03/28/19) - To help simplify the consumption of RESXTOP for those that may only need it from time to time, I have built a Docker Container which you can use on any system which has Docker installed.

To use the container, simply run the following command:

docker run --rm -it lamw/resxtop



In addition to quickly having access to RESXTOP, with the Docker Container, you can now access RESXTOP on a Windows system as shown in the screenshot below 🙂



Lastly, for those that require programmatic access to ESXTOP data, especially for third party tools who wish to consume a subset of these metrics, there is also vSphere API for ESXTOP, which is what RESXTOP is built on top of. For more details, please take a look at this blog post here.