Moviri Integrator for BMC Helix Capacity Optimization - HP uCMDB

 "Moviri Integrator for BMC Helix Continuous Optimization– HP uCMDB" connector allows extracting configuration information of IT components and logical entities present in HP Universal CMDB tool, together with the relationships defined among them.


Requirements

Supported versions of data source software

  • HP Universal CMDB Version 9
  • HP Universal CMDB Version 10

Supported configurations of data source software

Moviri Integrator for BMC Helix Continuous Optimization - HP uCMDB can be used both with HP Universal CMDB as a standalone application and with HP Universal CMDB shipped within HP Business Service Management product.

Datasource Check and Configuration

This section provides outlines the process required to setup the data source for the integration.

Preparing to connect to the data source software

In order to make data available to third party solutions, HP uCMDB provides a Web Service API which enables writing configuration item definitions and topological relations to the HP uCMDB, and querying the information with Topology Query Language (TQL) and ad hoc queries.
The integration between BMC Helix Continuous Optimization and HP Universal CMDB takes advantage of this API.
The required credentials are the same whether you are using HP Universal CMDB as a standalone application or from within Business Service Management.
This is a step-by-step procedure that provides a User with the permissions required for "Moviri Integrator for BMC Helix Continuous Optimization – HP uCMDB" to connect to the HP Universal CMDB.

  • HP Universal CMDB 9: Moviri Integrator for BMC Helix Continuous Optimization – HP uCMDB requires a User with two roles. In details:
    1. On the uCMDB console select Users and Roles from the Administration module in the Navigation Menu or select Managers > Administration > Users and Roles > Users tab.
    2. Click the Add New User button, insert the new User name and choose the password, insert the User details and select the following two roles:
      • CmdbOpenApiQuery
      • CmdbOpenApiClassModel
    3. Click on Finish

 

  • HP Universal CMDB 10: Moviri Integrator for BMC Helix Continuous Optimization – HP uCMDB requires a User on the CMDB and a New Role associated to this User. In details:
    1. On the uCMDB console select the Configuring Security tab and select the Roles Manager pane.
    2. Click the New Role button in the Roles pane, enter the name "BCO-Integration" for the role and click OK.
    3. Your new role is selected by default in the Roles pane. Select the General Actions tab in the right pane and select the following Actions (you can make multiple selections using the Ctrl button):
      1. View CIs
      2. Run Query by Definition
      3. Run Legacy API
    4. Click the right arrow button to move them to the Selected Actions pane.
    5. Click the Save button in the Roles pane to save your changes.
    6. Select the Users tab and click the New User button.
    7. Insert the new User name, choose the password, and insert the User details; on the Roles Associations pane assign the "BCO-Integration" role to this user.
    8. Click on Finish 

Connector configuration

General functioning of the Connector

Moviri Integrator for BMC Helix Continuous Optimization – HP uCMDB can be used to import two different, and complementary, types of information from HP Universal CMDB:

  • configuration data (CI attributes): the integrator imports a set of metrics related to the configurations of servers, like OS information, CPU, network interfaces, IP addresses and so on
  • topology data (CI relationships): the integrator imports a configured topological structure from the HP uCMDB, building into BMC Helix Continuous Optimization a correspondent topology tree composed of BMC Helix Continuous Optimization domains and related systems


Moviri Integrator for BMC Helix Continuous Optimization – HP uCMDB can be used to extract both configuration and topology at the same time, building a topology tree into BMC Helix Continuous Optimization and appending all related systems with their configurations.

Connection parameters configuration

The ETL needs the web service API URL in order to successfully connect to HP Universal CMDB.
The URL has the following format:
http://<UCMDB server name>:<port>/axis2/services/ucmdbService
Replace <UCMDB server name> with the host name of your uCMDB server, and replace <port> with the communications port your uCMDB server uses: this is the URL to the HP Universal CMDB web service API.
Moviri Integrator for BMC Helix Continuous Optimization – HP uCMDB supports http and https protocols. If you use https protocol, you can specify to accept an untrusted certificate configuring the correct property of the uCMDB ETL. Otherwise, you have to properly configure the JVM adding the untrusted certificate, referring to JVM vendor user guide.

Topology parameters configuration

If you want to extract the topology tree, uCMDB ETL needs that you specify which CIs (Configuration Items) to map, and which CI relationships to consider. As an example, consider the topology shown in Figure2:


 
 










In this case, you may want to consider only the topology tree composed by the Business Services, the related Business Processes and all systems related to these domains. Therefore, you consider only the partial topology shown in Figure 3:



  

 










So if you choose to consider a topology tree composed by the Business Services, the related Business Processes and all systems related with these CIs, the topology tree built into BMC Helix Continuous Optimization will be as shown in Figure 4:



  

 









Once you have chosen the topological structure that you want to extract, you have to specify this structure in the ETL configuration with the following parameters:

  • Starting domain type
    • It can be found from the HP Universal CMDB console: on the "Modeling" pane, click on the "CI Type Manager" tab, browse until you find the chosen CI type and select it; click on the "Details" tab on the right panel, and the domain type is shown as in Figure 5:


  

 



In this case, the domain type where to start from is BusinessService

  • Relationship type (optional)
    • It can be found from the HP Universal CMDB console: on the "Modeling" pane, click on the "CI Type Manager" tab and open the combobox shown in Figure 6:


  

 
Select the "Relationship" value, browse until you have found the Relationship type that you have chosen and select it; click on the "Details" tab on the right panel, and the domain type is shown as in Figure 7:



  




In this case, the relationship type is usage

  • Relationship direction(optional)
    • If the relationships which you want to consider start from the Starting domain type and end to the Related domain type the Relationship direction is ">"
    • If the relationships which you want to consider start from the Related domain type and end to the Starting domain type the Relationship direction is "<"
    • If you want to consider relationships with any of these 2 directions the Relationship direction is "="
  • Related domain type
    • It can be found in the same way you defined the Starting domain type. For instance, in the previous example the Related domain type is business_process


Once you have these parameters you can specify to the ETL the topological structure to extract with a configuration attribute called Relationships to be extracted (see manual for syntax).
The syntax you can use is the following:

  • Starting domain type -Relationship type Relationship direction Related domain type

For instance, using the parameters you have obtained before, the expression is the following:


BusinessService-usage>business_process


In Figure 8 is shown how this expression is composed:





  






Note: in this case there are no relationship starting from the Business Processes and ending to the Business Services, so you can obtain the same topology tree with this expression:


BusinessService-usage=business_process


but, instead, the topological structure imported with the expression


business_process-usage<BusinessService


is quite different, because it imports as parent domains the Business Processes instead of the Business Services.
In the following wil be presented a list of features of the Relationships to be extracted (see manual for syntax) attribute:

  1. You can also avoid to specify the relationship type: in this case the ETL will consider all types of relationship. For instance, in this case there are no other relationships between Business Services and Business Processes, so you can obtain the same topology tree with this expression:

    BusinessService->business_process

    or

    BusinessService-=business_process


  2. When you specify a CI type or a Relationship type, the ETL will consider ONLY the specified type and not  the associated subtypes. So, for instance, if your expression is 

    BusinessService->business_element

    the ETL will import a two-levels topology, having at first level only elements defined by BusinessService type, and at second level, only CIs whose type is business_element (and not, for example, BusinessService, business_process, business_application, etc.)

  3. You can also import a topology tree which has more than 2 subdomains, relating the CI type of a domain to a CI type of another domain and specifying the relationship type and direction in exactly the same way we have done before. There is no limit to the number of maximum levels you select. For instance, referring to Figure 9 Example of topology, you may want to import the entire topology tree considering all the domains shown (e.g. importing also the Business Activities): in this case you can use the following expression:

    BusinessService->business_process->business_activity

    and the entire topology shown will be imported into CO.

  4. If there is a cycle in the HP Universal CMDB topology this will be notified by a warning; on the BMC Helix Continuous Optimization side this path will be pruned in order to avoid an infinite tree. There is also a property called "Notify with a Warning if there is a cycle in the topology" which permits you to disable the notification of cycle detection.
    When the ETL considers all systems related to the domains of the tree, systems are appended not only to the leaf domains of the tree, but to all the domains to which they are related in the uCMDB. Considering for instance Figure 14 Example of topology the systems system3 is related to the domain Web-Shop so this system is imported with the domain Web-Shop as parent, independently if Web-Shop is a leaf or not.
  5. Into the BMC Helix Continuous Optimization topology tree, a system will be related with all the domains of the tree which are in direct relationship with the system itself. This means that a single system could appear more time in the BMC Helix Continuous Optimization topology tree, appended to all its related domains.
  6. It is not possible to specify in the expression the same CI type more than once. This means that the following expression:

    business_element->business_element

    will be rejected.


  









In the following is shown a list of examples of expressions, with a description about the extracted topology:

  • business_process-usage>business_transaction
    • The topology tree is an up to 2 levels tree, in which at the first level there are alle the Business Processes and at the second level there are all the Business Transaction that are in a "usage" relationship with the Business Process.
  • BusinessService-dependency>business_application
    • The topology tree is an up to 2 levels tree, in which at the first level there are alle the Business Services and at the second level there are all the Business Applications that are in a "dependency" relationship with the Business Process.

Blacklists and Whitelist on domains

You can filter the imported domains of the topology tree with two lists: a whitelist and a blacklist. These two lists are specified to the uCMDB ETL with two configuration properties.
These properties are sequences of regular expression: when the whitelist is specified, the uCMDB ETL will import only domains whose name matches with at least one of the regular expressions of the whitelist if and only if the same domains do not match with at least one of the regular expressions of the blacklist.
You can also further specify the type of the CI whose name must match. This could be done appending the CI type surrounded with a couple of # characters. The CI type name can be obtained from the HP Universal CMDB console: on the "Modeling" pane, click on the "CI Type Manager" tab, browse until you have found the CI type which you have chosen and select it; click on the "Details" tab on the right panel, and the domain type is shown as in Figure 5. So, for instance, if you want to filter only the domains which names start with "Moviri" and are of "business_service" type, you can insert this expression in the list:

Moviri#business_service#

In Figure 10 is shown how this expression is composed:

 






All the element of the list must be separated with a ; character. So, for instance, this is an accepted expression:


Moviri#business_service#;ETL#business_process#

If you don't specify the CI type, the uCMDB ETL will match without consider the type of the CI that is analyzing. If you want to specify a domain name that contains a # character, you have to escape the # character with a \ character. So, for instance, if you want to filter only the domains whose name start with "Moviri#BCO" and are of "business_service" type, you can insert this expression in the list:

Moviri#BCO.+#business_service#

Blacklists and Whitelist on systems

You can filter the imported systems with two lists: a whitelist and a blacklist. These two lists are specified to the uCMDB ETL with two configuration attributes.
These properties are a sequences of regular expression: when the whitelist is specified, the uCMDB ETL will import only systems which name match with at least one of the regular expressions of the whitelist if and only if the same systems do not match with at least one of the regular expressions of the blacklist. All the element of the list must be separated with a ; character.
These lists are configured in the same way of the blacklist and whitelist on domains, with the difference that you cannot specify the CI type on the systems.

Mapping of uCMDB attributes into BMC Helix Continuous Optimization metrics – Systems

As described, the ETL is able to import configuration metrics for servers (for a complete list of mapped metrics refer to Paragreph 7.1.1). As an added functionality you can set additional mappings between uCMDB attributes of the CI with type "Computer" and BMC Helix Continuous Optimization metrics.
The syntax to specify this mapping is:


name_of_uCMDB_attribute>NAME_OF_CO_METRIC

So, for instance, if you want to map the Memory Size, you can use the following expression:


memory_size>TOTAL_REAL_MEM


In Figure 11 is shown how this expression is comped:


 







You can also specify a conversion factor: in this case, the BMC Helix Continuous Optimization metric value will be the uCMDB attributes multiplied for the unit of measurement. The syntax to specify this mapping is:


name_of_uCMDB_attribute*conversion_factor>NAME_OF_CO_METRIC

So, for instance, if you want to map the Memory Size multiplied for 1048567, you can use the following expression:


memory_size*1048567>TOTAL_REAL_MEM


Here below is shown how this expression is composed:



  








BMC Helix Continuous Optimization mapped metric can also be a "custom" metric: if this custom metric is a new one, it will be created by the ETL the first time is processed. So, for instance, if you want to map the Memory Size into a new custom metric TOTAL_REAL_MEM_C, you can use the following expression:


memory_size>TOTAL_REAL_MEM_C

This can be done also using a conversion factor. So, for instance, if you want to map the Memory Size multiplied for 1048567 into a new custom metric TOTAL_REAL_MEM_C, you can use the following expression:


memory_size*1048567>TOTAL_REAL_MEM_C


All the element of the list must be separated with a ; character. So, for instance, this is an example of accepted mapping:


memory_size*1048567>TOTAL_REAL_MEM;swap_memory_size>SWAP_MEM_C

Mapping of uCMDB attributes into BMC Helix Continuous Optimization metrics – Domain

The uCMDB is also able to import attributes for domains. The specification between uCMDB attributes and BMC Helix Continuous Optimization metrics is similar to what described for CI with type "Computer". Please note that, in order to import metrics associated to domains, it is mandatory specifying them in the correct property of the ETL configuration, as there are no mapped metrics.
The syntax to specify this mapping is:


name_of_uCMDB_attribute>NAME_OF_CO_METRIC


Furthermore, as additional feature, it is possible to define the CI type where the uCMDB attribute is specified. In this case, the expression is composed as:



  

 





Also in this case is possible to define a conversion factor. This value has to be defined after the optional CI type field. Therefore, the expression is composed as:



  

 







BMC Helix Continuous Optimization mapped metric can also be a "custom" one: if this custom metric is a new one, it will be created by the ETL the first time is processed under the WKLGEN dataset.

Force domains not to be shared accross ETL tasks

If you have configured 2 different HP uCMDB ETLs to import topology data from the same HP Universal CMDB, it is possible that some domains will be imported from both them. For instance, you may want to import two differents topological structures into the BMC Helix Continuous Optimization tree, and maybe some domain is into both of these structures.
In order to differentiate this same domain into the two parts of the tree, you can enable the property called "Force domains not to be shared accross ETL tasks", which allows you to replicate the same uCMDB CI into many distinct BMC Helix Continuous Optimization domains, even if multiple ETLs share the same lookup table.

Orphan systems management

The uCMDB ETL has a property, called "Orphan systems: skip(S)/newly disc.(N)/dedicated domain(D)", that allows to choose how to manage systems which are not related to a domain in the tree. The value of this property is a single character. This property admits 3 possible values:

  • S (or s): skip all systems which are not related to a domain in the tree. In this case, into BMC Helix Continuous Optimization are imported only systems which are related to at least a domain of the tree imported into CO
  • D (or d): all systems which are not related to a domain in the tree will be appended under a domain called "Orphans"
  • N (or n): all systems which are not related to a domain in the tree will be imported as "newly discovered"

If uCMDB ETL is configured to not import topology data the "Orphan systems: skip(S)/newly disc.(N)/dedicated domain(D)" property will be ignored and all systems will be considered in the configuration data import.
If uCMDB ETL is configured to import topology data and configuration data and the "Orphan systems: skip(S)/newly disc.(N)/dedicated domain(D)" property is "S" or "s", only systems which are related to at least a domain in the tree will be considered in the configuration data import.

Connector configuration attributes

There are two sections (tabs) in the ETL run configuration page where the behaviour of "Moviri Integrator for BMC Helix Continuous Optimization - uCMDB" can be specified:

  • UCMDB - Settings
  • UCMDB - Data Selection

UCMBD - Settings



  

  



Section

Property Name

Value Type

Required?

Default

Description

UCMDB -Settings

uCMDB WebService address

String

Yes

 

The URL to the HP Universal CMDB web service API.

UCMDB - Settings

uCMDB username

String

Yes

 

The username of User which has the right roles to connect to the HP Universal CMDB

UCMDB - Settings

uCMDB password

String

Yes

 

The password of User which has the right roles to connect to the HP Universal CMDB

UCMDB - Settings

Accept untrusted certificate

Boolean

Yes

false

If the used protocol is the https, accept also the untrusted certificate

UCMDB – Settings
(Advanced)

Threshold of timeout in seconds

String

No

60

The threshold in seconds of waiting timeout doing a query to the uCMDB

UCMDB – Settings
(Advanced)

Number of max attempts of query execution in case of timeout

String

No

3

Total number of attempts to execute a query, if it has given a waiting timeout











Table 1: Configuration Properties of the ETL - uCMDB - Settings

UCMBD - Data Selection





 

 







  

Section

Property Name

Value Type

Required?

Default

Description

UCMDB – Data Selection

Extract configuration data

Boolean

Yes

true

Collect system metrics like CPU, memory, interfaces, ip addresses etc.

UCMDB – Data Selection

Extract relationships

Boolean

No

true

Collect relationships metrics which create the topology tree composed by domains and systems

UCMDB – Data Selection

Mapping of server attributes into BCO metric

String

No

true

Additional mapping of Computer attribute of uCMDB metrics into BMC Helix Continuous Optimization metrics

UCMDB – Data Selection

Mapping of domains attributes into BCO metric

String

No

True

Mapping of domain attribute of uCMDB metrics into BMC Helix Continuous Optimization metrics

UCMDB – Settings
(Advanced)

Force domains not to be shared accross ETL tasks

Boolean

Yes

false

If true, each ETL will append the domains in a different path on the topology tree

UCMDB – Data Selection

Relationships to be extracted (see manual for syntax)

String

No

business_element

The expression which specify the topological structure of the tree

UCMDB – Data Selection

Orphan systems (not belonging to any domain)

String

No

N

How to manage systems which are not related to a domain in the tree: if S/s these will be ignored, if N/n these will be imported as "newly discovered", if D/d these will be appended on a new domain called "Orphans"

UCMDB – Settings
(Advanced)

Notify with a Warning if there is a cycle in the topology

Boolean

Yes

true

Enable the notification of case in which there is a cycle in the topology tree of domains into HP uCMDB

UCMDB – Data Selection

Whitelist of domains to import (if empty import all domains)

String

No

 

Whitelist of domains to import into CO; if this list is empty, all domains will be considered in whitelist

UCMDB – Data Selection

Blacklist of domains to exclude

String

No

 

Blacklist of domains to not import into CO

UCMDB – Data Selection

Whitelist of systems to import (if empty import all systems)

String

No

 

Whitelist of systems to import into CO; if this list is empty, all systems will be considered in whitelist

UCMDB – Data Selection

Blacklist of systems to exclude

String

No

 

Blacklist of systems to not import into CO

Table 2: Configuration Properties of the ETL - uCMDB - Data Selection

Troubleshooting

For ETL troubleshooting, please refer to official BMC documentation available here.

Metrics Mapping

Supported Platforms and Metrics

All CIs configured to be mapped to BMC Helix Continuous Optimization Domains will be imported as “Generic” domains.

Configuration metrics will be imported from any CI whose CI type is Computer, or a Computer subtype \. In case entities (systems) do not already exist in CO, they will be created as “Generic” systems.

Imported Metrics

The ETL connects to the HP Universal CMDB and extracts data from a set of defined CI types. The configuration metrics supported by the ETL are listed in the following table.

Configuration metrics:

HP uCMDB CONFIGURATION ITEM TYPE

 HP uCMDB ATTRIBUTE

BMC Helix Continuous Optimization Metric (OBJNM)

BMC Helix Continuous Optimization sub-resource (SUBOBJNM)

Node

display_label

DS_SYSNAME

global

Node

display_label

SYS_NAME

global

Node

discovered_model

HW_MODEL

global

Node

memory_size

TOTAL_REAL_MEM

global

Node

swap_memory_size

SWAP_SPACE_TOT

global

Node

discovered_vendor

HW_VENDOR

global

Node

discovered_os_name

OS_FAMILY

global

Node

host_osinstalltype

OS_TYPE

global

Node

discovered_os_version

OS_VER

global

CPU

aggregate value

CPU_NUM

global

CPU

cpu_clock_speed

CPU_MHZ

global

CPU

cpu_type

CPU_MODEL

global

Interface

aggregate value

NETIF_NUM

global

IpAddress

ip_address

NET_IP_ADDRESS

global

IpAddress

aggregate value

NET_IP_ADDRESSES

global

Interface

interface_speed

BYIF_BANDWIDTH

display_label (interface)

IpAddress

ip_address

BYIF_IP_ADDRESS

display_label (interface)

IpAddress

authoritative_dns_name

BYIF_DNS_ADDRESS

display_label (interface)

 

These are the details about the aggregates values:

  • The OS_FAMILY metric is calculated:
    • if the system is a CI of type “Windows” or “nt”, this metric is the attribute os_family of the HP uCMDB;
    • if the system is a CI of type “Unix”, this metric is the attribute discovered_os_name of the HP uCMDB;
    • The OS_TYPE metric is calculated:
      • if the system is a CI of type “Windows” or “nt”, this metric is the attribute discovered_os_name of the HP uCMDB;
      • if the system is a CI of type “Unix” and the attribute host_osinstalltype does not contain the value of the attribute discovered_os_name, this metric is the attribute discovered_os_name followed by a blank space and then the attribute host_osinstalltype of the HP uCMDB;
      • if the system is a CI of type “Unix” and the attribute host_osinstalltype contains the value of the attribute discovered_os_name, this metric is the attribute host_osinstalltype of the HP uCMDB;
      • The CPU_NUM metric is obtained as the number of CPUs related to a system
      • The NETIF_NUM metric is obtained as the number of Interfaces related to a system
      • The NET_IP_ADDRESSES is the list of ip addresses related to a system

Lookup Fields

The ETL for uCMDB supports the multiple lookup methodology available in CO. This means that, for each BMC Helix Continuous Optimization entity, more than one lookup values is stored.

Lookup values for Systems

Considering a system named System1 with uCMDB internal identifier #ID1, the lookup table is filled-up by the ETL with the following fields:

 

Lookup field

Lookup Value

System

CI_ID

#ID1

System1

HOST_NAME

System1

System1

_COMPATIBILITY_

System1

System1






Lookup values for Domains

Lookup values for domains are obtained storing the lookup field “DOMAIN_PATH” with the serialized path of the domain as value, according to the topology specified in the ETL parameter.  If we take as example the topology reported in Figure 15, the lookup table for the considered domains is stored as


 










Lookup field

Lookup value

Domain

DOMAIN_PATH

\APP#ID1

Web-Shop

DOMAIN_PATH

\APP#ID1\APP#ID2

Buy-Used-Book

DOMAIN_PATH

\APP#ID1\APP#ID3

Buy-CD

DOMAIN_PATH

\APP#ID1\APP#ID4

Buy-New-Book

 

If you have enabled the property called “Force domains not to be shared accros ETL tasks”, the ETL stores an additional field “TASK_ID” with lookup value the task ID of the configured uCMDB ETL. In this way, the behavior described in section 3.14 is applied even if two uCMDB ETLs share their lookup.

Object Relationships

Object-Relationship data

Through Object-Relationship panel in the ETL edit run configuration,  the ETL arranges the collected systems under a domain of choice.


BMC Helix Continuous Optimization automatically creates a hierarchy rule associated to the ETL to process the Object-Relationship data.

 

By activating the OBJREL dataset and configuring the ETL to import topology data, the topological structure that you specified into the ETL properties will be replicated into CO:

 

Was this page helpful? Yes No Submitting... Thank you

Comments