Moviri Integrator for BMC Helix Capacity Optimization - HP uCMDB
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:
- 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.
- 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
- 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:
- On the uCMDB console select the Configuring Security tab and select the Roles Manager pane.
- Click the New Role button in the Roles pane, enter the name "BCO-Integration" for the role and click OK.
- 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):
- View CIs
- Run Query by Definition
- Run Legacy API
- Click the right arrow button to move them to the Selected Actions pane.
- Click the Save button in the Roles pane to save your changes.
- Select the Users tab and click the New User button.
- 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.
- 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:
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
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.)
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.
- 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. - 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.
- 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 | Threshold of timeout in seconds | String | No | 60 | The threshold in seconds of waiting timeout doing a query to the uCMDB |
UCMDB – Settings | 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 | 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 | 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:
Comments
Log in or register to comment.