Flings
Apps and tools built by our engineers that are intended to be played with and explored.

CIM Plugin

CIM Plugin

Summary

ESX includes a CIM Object Manager (CIMOM) that implements a set of server discovery and monitoring features. With the VMware CIM SMASH/Server Management API, clients that use industry-standard protocols can do the following:

  • Enumerate system resources
  • Monitor system health data

The plugin is general enough to support other CIM compliant services and is not limited only to ESX. However the primary goal for developing the plugin was to expose ESX CIMOM in the vCenter Orchestrator. This affected the API design.

Features

Enables the following use-cases without being limited to them.

  • Reporting Manufacturer, Model, and Serial Number
  • Reporting the BIOS Version
  • Monitoring State of All Sensors
  • Monitoring State of All Sensors By Using Only the Implementation Namespace
  • Reporting Fan Redundancy
  • Reporting CPU Cores and Threads
  • Reporting Memory Slots

System Requirements

vCO Server

Instructions

Install application according to the vCenter Orchestrator Installation and
Configuration Guide
(PDF)

Video

Change Log

Engineers

Daniel Vatov

Works in the Service Management group.

Add Comment

2 thoughts on “CIM Plugin

  1. vcpguy

    Hi, I have imported this plug in my environment. vCenter server 4.1. What next? I dont see any reference to this plugin on the web interface of orchestrator.
    What do we need to do to activate it ? Also under the plugins section it says
    Cim 1.0.0-SNAPSHOT.582 no installation required.

    Thanks

    Reply
    1. daniel

      Hi,
      The plugin exposes only scripting API.

      This sample script may help:

      /*
      Obtain ticket for cim service.
      */

      var esx = VcPlugin.allHostSystems[0];
      var ticket = esx.acquireCimServicesTicket();

      host = ticket.host;
      sessionId = ticket.sessionId;

      /*
      CimClient is not serializable and can not be passed among scriptable tasks.
      Instead pass host and session id and construct the client in every scriptable task.
      */

      var client = new CimClient('https', host, 5989, sessionId, true);
      var instances = client.getInstances('CIM_Chassis', 'root/cimv2');

      for (var i in instances) {
      System.log(instances[i].getClassName() + ':' + instances[i].getPropertyValue('SerialNumber'));
      }
      client.close();

      Reply

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>