Vivek Gaikwad
Tera Contributor

CMDB Identification & Reconciliation

 

The Identification and Reconciliation are also known as the Identification Reconciliation Engine (IRE). It provides a centralized method for identifying and reconciling data from different data sources. 

Identification Rule: It is used to identify new CIs and existing CIs.

Reconciliation Rule: It is used for updating the data if new values are from a more trusted source than existing data.

 

I&R helps to maintain the integrity of the CMDB by managing duplicate CIs and controlling updates to CIs when multiple data sources such as Discovery, Service Mapping, Import Sets, and REST integrations are used to create and update CI records.

find_real_file.png

If you are using multiple data sources to import data into the CMDB table then it will increase the risk of inconsistencies through duplicate records.

To maintain the integrity of the CMDB, it is important to identify CIs and services correctly so that the new records are created only for CIs that are truly new to the CMDB.

I and R rules help to prevent duplication of CI records, reconcile CI attributes, reclassify CIs, and allow only authoritative data sources to update CI records in the CMDB.

 

 

 

Identification Rules

The most efficient way to populate the CMDB is with an automated discovery tool such as ServiceNow Discovery or a 3rd party discovery tool such as SCCM. 

The identification rule applies to a CI class and it can be single or multiple with different priorities.

If additional rules are required to be created beyond the default identification rules,

It is recommended to create good rules that are set with the highest priority for the strongest identifier entries. 

Common Inaccuracies in the CMDB

  • Duplicate CIs: Multiple CIs are in the CMDB that represent a single CI. This situation may occur if the identification rules for CIs do not ensure that each CI is uniquely expressed with identifier entries that do not change.
  • Overloaded CIs: an opposite problem to duplicate CIs, overloaded CIs are when different CIs are identified as the same CI and one CI is created when several CIs should’ve been created.

Both of these problems occur when the attributes used to identify configuration items do not properly represent the identity of a CI. 

Hardware Rule

Hardware identification rule used to manage all hardware inserts and updates into the CMDB. This includes any CI inserted or updated into the  Hardware table (cmdb_ci_hardware) or any of its extended tables such as the Server table (cmdb_ci_server)

 

 

 

Good and Bad Application Identification Rules:

In the below scenario, if you go with a name then it’s considered a bad identifier and if you go with the config file name or installation directory or configure file path then it’s a good identifier.

Example for Bad identifier

 find_real_file.png

 

 

 

 

Example for Good identifier

 find_real_file.png

Reconciliation Definition and Data Source Precedence Rules

Understanding and controlling which data sources are updating CMDB data is crucial to trusting the data in the CMDB. 

Reconciliation Rules

Reconciliation rules specify which data sources can update a table or a set of table attributes, and they can be defined at the parent and/or the child class level. It is always good practice to ensure that there is a reconciliation rule in place for each data source that is authorized to update CIs in the CMDB.

Data Source

Applies To

Attribute

ServiceNow

cmdb_ci_win_server

RAM

Import Set

cmdb_ci_win_server

RAM

LANDesk

cmdb_ci_win_server

RAM

Above data source will update the windows server RAM attribute.

Data Source

Applies To

Attribute

ServiceNow

cmdb_ci_win_server

Import Set

cmdb_ci_win_server

LANDesk

cmdb_ci_win_server

Above data source will update the windows server data.

Let’s take an example.

Data Source

CI Details

LANDesk

Name: Win Server0001 RAM: 8GB (CI Inserted)  

Import Set

Name: Win Server0001 RAM: 12GB (CI Updated with 12GB)  

ServiceNow

Name: Win Server0001 RAM: 32GB (CI Updated with 32GB)  

Import Set

Name: Win Server0001 RAM: 12GB (CI Updated with 12GB)  

To overcome from above scenario ServiceNow have Data Source Precedence Rules

Data Source Precedence Rules

If multiple data sources are authorized to update the same class or the same class attributes in the CMDB, data source precedence rules can be set up for each data source in order to allow customers to control which data source they consider to be the authoritative source of truth for a specific class or class attribute. Without data source precedence rules, data sources can overwrite each other’s modifications.

For example let’s take same scenario with order

Data Source

Applies To

Order

ServiceNow

cmdb_ci_win_server

100

Import Set

cmdb_ci_win_server

200

LANDesk

cmdb_ci_win_server

300

 

Data Source

CI Details

LANDesk

Name: Win Server0001 RAM: 8GB (CI Inserted)  

Import Set

Name: Win Server0001 RAM: 12GB (CI Updated with 12GB)  

ServiceNow

Name: Win Server0001 RAM: 32GB (CI Updated with 32GB)  

Import Set

Name: Win Server0001 RAM: 12GB (Update not allowed due to higher order)  

Visit  for more Information on ServiceNow HelpDesk 

if this article helped you in any way then mark it helpful and bookmark it for future use.

Comments
chsmith11
Tera Contributor

Hello, 

 

I am looking into IRE Reconciliation rules and trying to implement them. We have multiple integrations using the IRE, and sometimes the integrations share CIs (but may have differing data). In order to stop data from flipping back and forth between the integration syncs, reconciliation rules seem like the fix. 

 

However, I have had zero luck implementing them. I have added the rules at the parent level of CMDB, and we are still seeing CI data flip back and forth when in both of the integrations but with slightly different data. I have looked into multiple different articles on Reconciliation Rules, and it seems that I am creating them correctly. I have found in this: https://support.servicenow.com/kb?id=kb_article_view&sysparm_article=KB0756709 that the IRE checks a table cmdb_datasource_last_update  when deciding precedence, however, I do not see any of the integration datasources listed on that table - only 'ServiceNow'. Could this be why the rules are not holding? Why are our rules not populating on cmdb_datasource_last_update ? We can see the 'Data source' field on CMDB being correctly populated for CIs...

 

Any help is greatly appreciated. 

Version history
Last update:
‎10-22-2021 04:11 AM
Updated by: