VMware recently opened a new microsite called VMware Labs. Although it's not intended to be a dating website, apparently you can use it to have a fling or two.
Let me explain: VMware Labs is a landing spot where VMware engineers can publish and promote projects they are enthusiastic about, instead of hosting them on their personal blogs. Each project is described as a "fling." In VMware's words:
A fling is a short-term thing, not a serious relationship but a fun one. Likewise, the applications offered here are intended to be played with and explored.
Putting the horrifying image of being "played with and explored" by VMware Engineers aside (and without telling my partner of 10 years), I decided it might be interesting to engage in a fling and report my experiences – shades of “Executable in the City” I guess. [Editor's interjection: Any more of these excruciating puns, Mike, and you will be blacklisted for the rest of the year]. Anyway, I went over my options of available flings and quickly identified a couple that should be of extreme interest to any VMware admin:
Onyx and vCMA
The Onyx and vCMA tools have been around for some time and were located on other parts of the VMware website, so you may already be familiar with them. But in case you're not, “Onyx” is a piece of software that was originally developed by the VMware PowerCLI team. It's like an old “macro” recorder of the '90s that you may remember from your Microsoft Word/Excel days.
As you carry out tasks in vCenter, Onyx monitors your activity and turns your clicks and selections into PowerCLI code. More specifically, it pulls out the raw code from the vCenter SDK – which means if there isn’t a cmdlet already made for you, you can literally cut and paste the raw PowerCLI references to the SDK into a PowerShell script and reuse them.
The vCMA (vCenter Mobile Access) is a virtual appliance you can download and allocate an IP address. It provides a webpage-like interface to vCenter, preformatted for a mobile phone.
vAppRun extends the functionality of vApps from vSphere4 to VMware Workstation and Fusion. vApps are a new object type in vSphere4 that allows you to group virtual machines (VMs) together. The main advantage is being able to give VMs different start-up orders -- you can power on and power down a whole suite of VMs with a single entity. vApps also allow you to set IP addresses and resource allocations as you would with resource pools.
VMware Guest Console: A vSphere Client for guest OSes?
I am quite familiar with the aforementioned flings and was looking for something new to whet my jaded pallet before my midlife crisis truly kicks in. I decided to focus on VMware Guest Console (VGC) first. Historically, VMware hasn't done much to give us an idea of what's going on within the guest OS inside a VM. The VGC addresses that weakness and works with vCenter, ESX, Server 2.0 and Workstation. The VGC provides a window on the processes running inside the VM (Unified Task Manager), allows you to explore the VM's file system, and it also acts as a general snapshot and VM manager tool. For a full breakdown of all the features, you can visit the VGC page.
The VGC installation is simple, straightforward and nothing to write home about – pretty much if you can summon one of your bodily extremities to hit the Next button, you will be just fine. It does, however, need the Microsoft .NET Framework installed.
Similar to the vSphere Client, when you load the VGC you can type in your vCenter Fully Qualified Domain Name (FQDN), username and password, and the VGC will enumerate every VM (powered on and off) in the inventory -- albeit without the folder structures you normally see in vCenter.
From this list you can select a VM and provide its credentials in the Task Manager tab to see a list of processes within the guest operating system (Windows or Linux). Below, you can see I've selected one of my VMware View 4.5 Connection Servers, and you can see the main View Connection server process (wsnm.exe).
I would like this kind of functionality embedded in the main vSphere Client. Furthermore, I would like to see my system services from a menu like the one above so I could restart services without going through the rigmarole of having to "fanny about" (that's a Britishism for y'all) firing up the Service MMC or remembering service names with the net stop/start command.
The Snapshot manager tab tells you if there are any snapshots, and the Virtual Machine tab gives you some details about your select VM, such as guest OS type, number of vCPUs, IP Address(es), Power State, Uptime, Location of your VMX configuration file, Virtual Machine Hardware Level, and VMware Tools version. Phew!
Exploring VGC's File Explorer
The feature that quite literally made me shout out "Oh, wow -- YES!" in a near orgasmic paroxysm of geekiness, however, was the File Explorer piece of the VGC. The File Explorer allows you to mount and navigate into the VM's virtual disk. In a second, VGC became like the old File Manager of Windows 3 days!
By right-clicking within the File Explorer, I can download, copy, rename and delete files -- and a right-click in the blank area allows me to upload files into the guest operating system's virtual disk. What's really cute about this is how quick it is. It's much quicker than the lugubrious "Datastore Browser" of the vSphere client.
A right-click on a VM allows you to install software (Deploy Host Program) or launch a new process (New Task) from the Applications menu:
The Snapshot menu allows you to manage your VMware Snapshots with Create, Go To and Remove. The Virtual Machine menu allows you to manage the power state of the VM and open either a Remote Desktop Protocol (RDP) Session (Windows) or Terminal (Linux) to the VM using your credentials provided to the Task Manager window. I would love to see the ability to RDP to a Windows VM built in to the main vSphere Client without needing to install third-party plug-ins.
The esxplot utility
After my Brief Encounter with the VGC, I downloaded and installed the esxplot utility. I first heard of this application via the vpivot.com website, and it's nice to see that esxplot has found a home.
As you might know, the command-line utility esxtop is very popular among VMware administrators because it gives you excellent granular detail of performance issues, including counters for disk, memory, CPU and network. Esxtop, however, can also run in a "batch" mode, where it dumps performance data into a .CSV file. Unfortunately, the volume of data collected can be so detailed that it resists being imported into applications like Microsoft Excel.
This is where esxplot comes in. It can take these "captures" of performance data and plot them out in graphs and charts for further analysis.
For it to work, you need Python 2.6.x, not the Python 3.x version because it doesn't support wxPython.
Before you get started with esxplot, it's worth creating a "dataset" or a capture of performance data from one of your systems. Using the following command at the Service Console will collect every metric on an ESX host, taking a snapshot of data every 10 seconds for about 10 minutes:
esxtop -b -a -d 10 -n 60 > dataset.csv
The servers in my lab environment are very heavily overcommitted from a memory perspective, as I simply have too little memory to do all things I currently want to do (and yes, I am planning a memory and server upgrade in the next couple of weeks). Consequently, I wasn't too interested in what esxplot could tell me about my CPU activity, but I was very interested to see the memory utilization because I knew there would be lots of ugly memory ballooning and swap activity.
I copied my dataset.csv file across from my ESX host using Veeam's FastSCP, and using esxplot's menu (File, Import, Dataset), I was quickly able to view many more detailed information about my ESX host. Sure enough, under +Group Memory, I could see what all the trouble was about: [image]
The esxplot utility has an export function as well as an import option, so you can export these charts into .bmp, .xbm, .xpm, .png and .jpg formats.
Right now, the future of VMware Labs seems uncertain. Will it develop into something more than a landing zone for engineer's pet projects that haven't been picked up by VMware Product Managers? In the mean time, these pet projects may be handy little tools in your kit bag, and we might eventually see some of the feature sets incorporated into existing management tools. Who knows, perhaps VMware is hoping that these "flings" will blossom into something that resembles a long-term relationship? Just don't tell the girlfriend!
|Mike Laverick (VCP) has been involved with the VMware community since 2003. Laverick is a VMware forum moderator and member of the London VMware User Group Steering Committee. Laverick is the owner and author of the virtualization website and blog RTFM Education, where he publishes free guides and utilities aimed at VMware ESX/VirtualCenter users, and has recently joined SearchVMware.com as an Editor at Large. In 2009, Laverick received the VMware vExpert award and helped found the Irish and Scottish VMware user groups. Laverick has had books published on VMware Virtual Infrastructure 3, VMware vSphere4 and VMware Site Recovery Manager.|