Dear old ESXTOP aka How to schedule ESXTOP batch mode
September 10, 2015 Leave a comment
Recently I had to record a night activity of a specific VM running on a specific host for troubleshooting reasons because vCenter data wasn’t just enough for that.
Using a number of blog posts around from Duncan Epping and others (it was many, I don’t even have the links anymore) I’ve put up my personal guide about how to take over this task because every time it’s like I have to start from scratch so I decided to document it.
First thing I created a script with the specific run time and collection data I needed:
vi <path>/record-esxtop.sh esxtop -b -a -d 2 -n 3600 > /esxtopoutput.csv
OR
esxtop -b -a -d 2 -n 3600 | gzip -9c > /esxtopoutput.csv.gz
(-d=sampling rate, -n=number of iterations; the total run time is “d*n” in seconds)
(second version creates a zipped version of the output)
Let’s make this script executable:
chmod +x <path>/record-esxtop.sh
Then, since in latest versions of ESXi there is no crontab, you’ll need to edit the cron file for the user you want to run the script with:
vi /var/spool/cron/crontabs/root
Then add a line similar to this:
30 4 * * * <path>/record-esxtop.sh
Now kill crond and reload:
cat /var/run/crond.pid ps | grep kill -HUP ps | grep /usr/lib/vmware/busybox/bin/busybox crond cat /var/run/crond.pid ps | grep
Now your script will get executed and you’ll find a file with your data, but how to read it?
It’s dead simple, just open PerfMon on Windows, clear all running counters then right-click on “Performance Monitor” and in the tab “Sources” add your CSV file (need to unpack it first); in the data tab you will then be able to choose metrics and VMs you want to add to your graph.
It would be nice to have a tool that does the same on Mac but I couldn’t find one and I had to use a Windows VM; if you know a Mac alternative for PerfMon please add a comment.
This procedure is supported by VMware as per KB 103346.
Recent Comments