Monitor VMware vSphere from OpenBSD using the Perl SDK

       345 words, 2 minutes

Last time, I had a look at how to monitor VMware vSphere from FreeBSD using the Perl SDK . Quite simple using the ports!

Believe it or not, installing and running the VMware vSphere Perl SDK on OpenBSD is as simple as breathing. Here’s the POC.

First of all, you’ll need to download the VMware-vSphere-Perl-SDK-5.0.0-422456.i386.tar.gz archive. Browse to the “Download VMware vSphere 5.0 SDK for Per…” Web page, locate the “vSphere SDK for Perl 32-bit Linux Installer” and click “Manually Download” button. You’ll need to log-in using a (free) account.

Once downloaded, transfer the archive to your OpenBSD system.

You’ll need to install a few Perl dependencies to be able to use the SDK:

  # pkg_add p5-URI p5-XML-LibXML p5-LWP-UserAgent-Determined
  # cat >> /usr/local/libdata/perl5/site_perl/XML/SAX/ParserDetails.ini
  [XML::LibXML::SAX::Parser] = 1

Then, extract the VMware vSphere SDK archive and install the files in the OpenBSD system:

  # tar xzf VMware-vSphere-Perl-SDK-5.0.0-422456.i386.tar.gz
  # cd vmware-vsphere-cli-distrib
  # cp -pr lib/VMware/share/VMware /usr/local/libdata/perl5/site_perl/i386-openbsd/
  # chown -R root:wheel /usr/local/libdata/perl5/site_perl/i386-openbsd/VMware
  # cp -r apps /usr/local/share/examples/vmware-vsphere-cli
  # chown -R root:wheel /usr/local/share/examples/vmware-vsphere-cli
  # find /usr/local/share/examples/vmware-vsphere-cli -type f -name "*.pl" -exec chmod 755 {} \;

Finally, just use the examples to check it works:

  # /usr/local/share/examples/vmware-vsphere-cli/host/ \
  --server esxi --username 'admin' --password 'password'
  Host Name:              
  Port Number:                     902 
  BootTime:                        2012-07-27T19:17:17.537519Z 
  Cpu Model:                       Genuine Intel(R) CPU 0 @ 2.30GHz 
  Cpu Speed:                       9179150980 
  Cpu Usage:                       1102 
  File System:                     vmfs nfs vfat  
  Host Status:                     The status is unknown 
  Maintenance mode:                0 
  Physical Memory:                 17087459328 bytes 
  Memory Usage:                    13074MB 
  Network Adapters:                2 
  Reboot Required:                 0 
  Software on host:                VMware ESXi 5.0.0 build-768111 
  VMotion:                         0 
  # /usr/local/share/examples/vmware-vsphere-cli/vm/ \
  --server esxi --username 'admin' --password 'password' --vmname "directory"
  Information of Virtual Machine directory 
  Name:            directory 
  No. of CPU(s):           1 
  Memory Size:             256 
  Virtual Disks:           1 
  Template:                0 
  vmPathName:              [NFS_vm] directory/directory.vmx 
  Guest OS:                FreeBSD (32-bit) 
  guestId:                 freebsdGuest 
  Host name:      
  IP Address:     
  VMware Tools:            VMware Tools is running and the version is current 
  Cpu usage:               8 MHz 
  Host memory usage:               132 MB 
  Guest memory usage:              12 MB 
  Overall Status:          The entity is OK 

It works! Except that the VM is not FreeBSD but OpenBSD 5.1…