Common Information Model (CIM) Data for Home Lab Server Hardware

Reader Anthony submitted a great comment asking about Common Information Model (CIM) status reporting for home lab boxes – specifically my Supermicro servers. Rather than confining my reply to the comments box, I figured it would be a great opportunity to dive a bit deeper into the question and provide some screen grabs with example values.

For those unfamiliar with CIM, it is an open standard maintained by DMTF to provide an object-oriented language for sharing data and providing control. You can dive into the most current CIM Schema (version 2.43.0 as of this post) to understand what objects are within scope. For this post, most of what we’re interested in can be found in CIM Device – check out this snazzy PDF if your geek radar is piqued.

The Data Dance

The ESXi hypervisor is able to pull hardware status details via SMBIOS, IPMI, and a few other methods without requiring any 3rd party intervention, so long as the hardware uses the open standards described. Charu Chaubal wrote up a rather in-depth post on the process back in 2010 on the VMware vSphere Blog – I would imagine that a few things have changed along the way, but it’s an excellent educational piece on MOF, sensor profiles, and older collection methods.

You can see the CIM UI server running in the extensions list of your host by pulling up the MOB (managed object browser) and finding the cim-ui extension. I’ve provided a sample below.

cim-ui

All of my host hardware status values populated without any assistance. I’m running ESXi 5.5 Update 2 or later.

OEM Specific CIM Drivers

Some OEMs decide to add on their own baggage to the CIM standard and create their own specific implementation, requiring to install an OEM specific CIM driver (such as in this Emulex post I wrote a while back) as a VIB to the host. The full list of CIM providers that passed the CIM PAT (Provider Acceptance Test) can be found here. The list starts with ESXi 5.0 and runs through the latest release, ESXi 6.0.

If you’re having some issues pulling hardware status, here’s a few VMware KBs that can help:

I think this part of the first KB linked will be applicable to those looking for vendor specific data objects:

absence of memory node
display of memory device temperature under temperature node
display of Unknown status for the power node
inaccurate reading– for example 0 Watts, xyz Amps for power supplies
absence of power supply failure alarm– in such an event, only a redundancy failure warning is displayed
incorrect reading under Other node regarding system management module I2C err

Hardware Status Examples

I promised some screen grabs from my environment via the vCenter 5.5 Update 2 Web Client. Here’s hardware status from three different systems that are in my home lab. Again, note that nothing was done to get the hardware status to report for these servers, they are essentially stock hypervisor installs.

Supermicro “Haswell Build” MBD-X10SLH-F-O – BIOS version 2.00

supermicro-cim

Supermicro “Sandy Bridge Build” MBD-X9SCM-F – BIOS version 2.0c

x9scm-supermicro

Dell T110 “Black Dragon Build – BIOS version 1.5.2

dell-t110

It’s also worth noting that the data can be exported into an XML file by clicking on the Export data link. An example on my Haswell Build host can be found below:

supermicro-cim-export