• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar

virtuallyGhetto

  • About
  • Privacy
  • VMware Cloud
  • Home Lab
  • Nested Virtualization
  • Automation
    • VMware Kickstart
    • VMware API/SDK/CLI
    • VMware vMA/VIMA
    • VMware OVF / OVFTOOL
  • Apple Mac
  • VCSA
  • VSAN

resxtop

ESXTOP and VMware Cloud on AWS

03/26/2019 by William Lam 6 Comments

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.

[Read more...] about ESXTOP and VMware Cloud on AWS

Share this...
  • Twitter
  • Facebook
  • Linkedin
  • Reddit
  • Pinterest

Filed Under: Automation, ESXi, VMware Cloud on AWS Tagged With: esxtop, resxtop, VMC, VMware Cloud on AWS

Heads Up: Workaround required for resxtop to function in vMA 5.5

11/14/2013 by William Lam 2 Comments

If you are using the latest version of vMA 5.5, there is currently a known issue when using resxtop. After successfully logging into the ESXi host, the command prompt is returned immediately and resxtop is not actually loaded.

Here is a screenshot of the behavior:

I have received word from engineering there is a workaround that is required to get resxtop working, which is to run the following command:

sudo mv /usr/lib/vmware-rcli/lib/ /usr/lib/vmware

Once you have executed the above command (only required once), you now will be able to connect to your ESXi host using resxtop.

Engineering is working on getting the vMA release notes updated as well as a KB article published and we will have fix for this in the a sub-sequent update/patch release of vMA.

Share this...
  • Twitter
  • Facebook
  • Linkedin
  • Reddit
  • Pinterest

Filed Under: Uncategorized Tagged With: esxi 5.5, resxtop, vcli, vMA 5.5, vSphere 5.5

How to Run VMware’s New Fling VisualEsxtop on Mac OS X

07/02/2013 by William Lam 11 Comments

The folks over at VMware Labs continue to pump out awesome new Flings and just yesterday, they released another one called VistualEsxtop, which is an enhanced version of esxtop and resxtop. It is no surprise, the Fling was developed by VMware Engineers working in the Performance group such as Priya Sethuraman, Zhelong Pan, Haiping Yang and Joanna Guan, some of which who helped develop the original esxtop utility.

VisualEsxtop can connect to directly to an ESX(i) host or a vCenter Server and provides support going all the way back to ESXi 3.5 or vCenter Server 4.0. Here is a summary of all the features for VisualEsxtop:

Features

  1. Live connection to ESX host or vCenter Server
  2. Flexible way of batch output
  3. Load batch output and replay them
  4. Multiple windows to display different data at the same time
  5. Line chart for selected performance counters
  6. Flexible counter selection and filtering
  7. Embedded tooltip for counter description
  8. Color coding for important counters

While reading the instructions, I noticed VisualEsxtop is supported on both Windows and Linux and is loaded by a simple .bat or .sh script. So I wondered if it could run on Mac OS X? Well, it turns out the script uses a utility called readlink which does not operate the same on Mac OS X and will thrown an error. However, since VisualEsxtop is just a Java application, you can manually load the VisualEsxtop and the necessary library files.

To do so, you just need to change into the visaulEsxtop directory and run the following command:

java -cp lib/vtop-ui.jar com.vmware.vtop.VTopMain

Note: For ease of use, you can even create a shell script which executes the command so you do not have to type it out each time.

You should now see visualEsxtop launch after executing the above command:

One really cool feature of VisualEsxtop is the use of color coating for important counters and issues. In the screenshot below, you can see I have a VM that is dropping packets and it is automatically highlighted for me.

I would highly recommend you check out VisualEsxtop and add this to your toolbelt of tools for troubleshooting and diagnosing performance issues in a vSphere environment! If you have any feedback or questions for the engineers, please leave them in the comment section of the VisualEsxtop Fling.

Share this...
  • Twitter
  • Facebook
  • Linkedin
  • Reddit
  • Pinterest

Filed Under: Uncategorized Tagged With: esxtop, fling, osx, resxtop, visual esxtop

Required vSphere Privilege for Read-Only RESXTOP View

06/25/2013 by William Lam 1 Comment

Yesterday I received a question about the specific vSphere privilege that is required to view RESXTOP data on an ESXi host. The reason for this request was to create a restricted role for a group of users who only needed to have access to RESXTOP performance data. I did not know the answer off the top of my head, but it was a pretty easy to narrow down the specific privilege with a quick test in my lab.

Through the process of elimination, it turns out you just need the Global.Service managers privilege to view only RESXTOP data. It may not seem intuitive, but the Service Manager is responsible for providing vSphere API access to both RESXTOP as well as vScsiStats interfaces which I have written about here.

In my lab, I created a new role called resxtop and then associated the role with the user(s) within the vSphere inventory. You can centrally manage this using vCenter Server or you can do this directly on an ESXi host, but you will need to ensure the role is create on each and every single ESXi host along with it's user association.

Share this...
  • Twitter
  • Facebook
  • Linkedin
  • Reddit
  • Pinterest

Filed Under: Uncategorized Tagged With: esxtop, permission, privilege, resxtop, service manager

Retrieving ESXTOP Performance Data Using the vSphere 5.1 API

01/15/2013 by William Lam 5 Comments

In vSphere 5.1, VMware introduced a new managed object called the Service Manager. The Service Manager is a generic object that wraps the execution of a single command and it requires a specific set of inputs to invoke a particular service command. This is particularly interesting as it allows users to access both the ESXTOP and vscsiStatsinterface using the vSphere API. Prior to vSphere 5.1, to use ESXTOP you would need to either login to the ESXi Shell to run the local ESXTOP command or connect remotely using the RESXTOP utility which is only available on a Linux system. For vScsiStats, you would need to login to the ESXi Shell as a remote version of this tool does not exist. The Service Manager used to be a private interface, an interesting tidbit is that some of you may have already interacted with this interface without even realizing it if you have used PowerCLI's Get-Esxtop cmdlet. In this article I will show you how to programmatically access ESXTOP using the vSphere API.

UPDATE 02/15/2017 - Please see this updated article here for how to access this API using vCenter Server.


Disclaimer: You should try to limit the use of these interfaces for statistics collection or debugging/troubleshooting purposes as there is a certain amount of overhead when running these commands. It is also important to note that since the output is based on the implementer of the service, there is no guarantee that output would not change from one release to the other.

Both the ESXTOP and vscsiStats services are only available when connecting directly to an ESXi 5.1 host, it is not available when connecting to a vCenter Server. If we browse over to the vSphere MOB, we can clearly see the two services:

The first step is to get a reference to the ESXTOP service via the Service Manager and to invoke an operation for ESXTOP, you will need to use the ExecuteSimpleCommand. For ESXTOP, there are three valid operations:

  • CounterInfo
  • FetchStats
  • FreeStats

To demonstrate the ESXTOP interface, I have written a sample vSphere SDK for Perl script called getEsxtop.pl which I will use to explain each operation. Please note the data set that is retrieved is in it's raw data form and requires a bit of data processing.

CounterInfo

This operation only needs to be invoked once and it will provide you with the list of available counters and their associated properties and data types for a given ESXi host. Here is an example of this using the "getcounters" operation implemented in the script:

Each line represents a specific counter type followed by each property name and their data type. For example, the first line is for the Server counter and has the following properties and types:

Property Name Type
MinFetchIntervalInUsec U64
IsVMVisor B
TimeStampInUsec U64
Time S64

Here is a quick diagram to help you visualize the hierarchy of all the ESXTOP counters and their relationships with one another:

Note: This diagram was created using yuml.me and here is the raw text in JSON format if you are interested.

FetchStats

This operation fetches a single snapshot of ALL the ESXTOP statistics which contains two pieces of information:

  • The topology of the counter instances
  • The actual counter instances values

The first section is denoted by ==NUM-OF-OBJECTS== which contains either inventory data that does not change or counter instance structure which describes the relationship between the different counter instances. Here is an example of the first section using the "getstats" operation implemented in the script:

If we take a look at the second line as an example |PCPU|LCPU,24|Core,12|Package,2| we can see that PCPU counter contains 24 LCPU that you would need to then enumerate as well as inventory information describing the CPU's logical cores and physical socket.

To view the enumerated counter instances and their instance values, we need to look in the second portion of the data which is denoted by ==COUNTER-VALUE== within the output. Here is a screenshot of this section and we can see the enumerated LCPU's (24 in total as denoted earlier) and their associated instance values:

Remember you will need to correlate with the counter definitions that was extracted earlier from the "getcounters" and this will help you build up the data. I do have to say it can be a bit confusing when you first look at the raw data, but as you start to play with it a bit more, it will start to make sense. Two useful references that can help with parsing the data is the ESXTOP bible and an article that Luc Dekens wrote awhile back exploring the Get-Esxtop cmdlet which I mentioned earlier leverages this exact interface.

FreeStats

Lastly, once you are done collecting the ESXTOP data, you will need to run the "freestats" operation and this will release any server side resources used during the collection. When this command is invoked, it will free up all resources even for past collections where you might have forgotten to perform this last step. There is no output from this operation as you can see from the example screenshot below:

Even though it is nice to see the ESXTOP interface be accessible via the vSphere API, it is not the easiest interface to use and is definitely geared more towards a developer. For extracting general performance data, I would still recommend using the Performance Manager managed object or one of the above mentioned command-line interfaces. In the next article, I go into more detail about the vscsiStats interface and how to consume it using the vSphere API.

Share this...
  • Twitter
  • Facebook
  • Linkedin
  • Reddit
  • Pinterest

Filed Under: Automation Tagged With: api, esxi5.1, esxtop, resxtop, service manager, simplecommand, vSphere 5.1, vsphere sdk for perl

vi-fastpass esxcli and resxtop bug resolved in vMA 5

07/27/2011 by William Lam 2 Comments

Awhile back I wrote about an resxtop bug found in vMA 4.1 in which it no longer functions with vMA's vi-fastpass component and still requires you to provide the username and password even though vi-fastpass has been initialized for a given target. There was also a slight quirk when using esxcli and vi-fastpass, in which you had to specify in addition the --server of your ESX(i) host which allowed you to utilize vi-fastpass.

With the latest release of vMA 5, both of these issues have now been resolved for both ESXi 5 and ESX(i) 4.x. I would highly recommend you download the latest version if you would like to make use the vi-fastpass component in vMA.

Here is an example of using vi-fastpass with resxtop:

[email protected]:~> vifptarget -s himalaya.primp-industries.com
[email protected]:~[himalaya.primp-industries.com]> resxtop

Here is an example of using vi-fastpass with esxcli:

[email protected]:~> vifptarget -s himalaya.primp-industries.com
[email protected]:~[himalaya.primp-industries.com]> esxcli

Share this...
  • Twitter
  • Facebook
  • Linkedin
  • Reddit
  • Pinterest

Filed Under: Uncategorized Tagged With: esxcli, esxi5, resxtop, vMA5, vSphere 5

  • Go to page 1
  • Go to page 2
  • Go to Next Page »

Primary Sidebar

Author

William Lam is a Senior Staff Solution Architect working in the VMware Cloud team within the Cloud Services Business Unit (CSBU) at VMware. He focuses on Automation, Integration and Operation for the VMware Cloud Software Defined Datacenters (SDDC)

  • Email
  • GitHub
  • LinkedIn
  • RSS
  • Twitter
  • Vimeo

Sponsors

Privacy & Cookies: This site uses cookies. By continuing to use this website, you agree to their use.
To find out more, including how to control cookies, see here: Cookie Policy