CIM Discovery architecture

CIM probes can explore any device based on the Common Information Model (CIM) by querying a CIM server, also referred to as a CIMOM - Common Information Model Object Manager. By default, Discoveryuses CIM probes to explore storage systems as well as to get the serial numbers of ESX servers.

Discovery queries SMI-S compliant storage devices using CIMIQL queries.

The following components are part of CIM:
  • Common Information Model (CIM): CIM allows multiple parties to exchange information about managed elements. CIM represents these managed elements and the management information, while providing the mechanism to actively control and manage the elements.
  • Storage Management Initiative Specification (SMI-S): SMI-S is a standard of use that describes methods for storage discovery on the vendor's side. ServiceNow uses SMI-S to determine how to discover CIM. SMI-S is based on the Common Information Model (CIM) and the Web-Based Enterprise Management (WBEM) standards, which define management functionality via HTTP. The main objective of SMI-S is to enable management of dissimilar storage products. ServiceNowsupports SMI-S version 1.5 or higher.
    Figure 1. CIM SMI-S Standard Diagram
  • Web-Based Enterprise Management (WBEM): WBEM defines a particular implementation of CIM, including protocols for discovering and accessing each CIM implementation.
  • Service Location Protocol (SLP): SLP is an ad hoc protocol for retrieving and associating configuration information about CIM servers, such as default paths, capabilities, and the exact interop namespace. Discovery retrieves the interop namespace of a CIM server via SLP and passes that information to the CIM Classify probe. SLP, referred to here as the SLP server, uses service agents (SA) to gather and disseminate information about a CIM server on a subnet. A subnet can have multiple service agents.
    Note: The mid.cim.interop.namespace system property defines four default storage namespaces:
    • interop
    • root/interop
    • root/pg_interop
    • pg_interop
    If you are using multiple storage vendors with custom namespaces not specified as one of the defaults, add the new namespaces to the comma-separated list in this property. If you intend to continue using any of the default namespaces, make sure to include them in the property.
    Figure 2. CIM Agents Diagram

SLP and WBEM support

SLP is required for CIM Discovery as it is part of the Storage Management Initiative Specification (SMI-S) stack. Some storage devices may support the WBEM protocol, but may not support SLP.

You can manually register the WBEM services on SLP using a common Linux tool like slptool. This tool has a command line interface that you can use to make SLPv2 User Agent (UA) requests, which usually come with the SLP daemon package. To register a service, provide a URL and list of attributes. An example can be extracted from a working SLP server by using the same tool.