VMware Cloud Community
mikeyboy
Enthusiast
Enthusiast

How to limit the number of columns generated by ESXTOP batch mode

Hi, please does anyone know how to limit the number of columns generated by ESXTOP (on ESX 3.5) in batch mode, to a specific set of columns based on the column headers?

For example, I only want it to output the columns relating to virtual machine CPU '% Used' and '% Ready'.

I could let it output all the columns then manipulate and extract the ones I want manually by importing into Excel...but I need to leave ESXTOP running all day to get the output I want, and the resulting csv files are absolutely massive and totally unmanageable. I want to do this for multiple hosts, every day.....but it's totally unfeasible to have to manually manipulate and manage lots of massive files every day. I'd have to spend hours just copying files to my PC over the network. If I could restrict the output to the few columns I need, the files would be much smaller, much more manageable, and I could use the relatively small output files in some nice scripts. I'm doing this to ultimately give me a way of quickly pulling together and then graphing the % used and % ready times of all VMs on all of our hosts all at once for performance trend analysis and future performance predictions (which we used to be able to do on ESX 2.5 with VMKUsage...and using the per-VM virtual center graphs to show this for all VMs on all our hosts, one-by-one, would take far too long and is unfeasible).

Any help or advice would be appreciated.

2 Replies
termita_kaesar
Enthusiast
Enthusiast

You must execute exxtop without arguments, when is running esxtod, write h, for select columns a write in this config in /root/.esxtop310rc

Quit of esxtop and rename the file /root/.esxtop310rc

When your are runnig esxtop in bach mode, add one argument -c /root/.esxtopCPU

Cesar Garcia

Descom, SL

Cesar Garcia Descom, SL
Reply
0 Kudos
mikeyboy
Enthusiast
Enthusiast

Hi, many thanks for the quick reply. I just tried that, I've removed all the fields from the ESXTOP output apart from the name and CPU state fields, and saved it under a .esxtopCPU file, and used that as the config file when I run it in batch mode.

The output is now smaller...but it still contains nearly 800 columns....way too many, and the file would still be huge by the end of the day (i want to run it once a minute, for at least 8 hours a day). Just 2 rows of data is nearly 100K...the files would be at least 24Mb...too big to manipulate. And I've only got 1 VM on the host at the moment too...I expect there will be hundreds more columns when we put lots more VMs on.

I think I'm resigned to the fact that I'm not going to be able to do this...the ESXTOP output is far too unwieldy.