Components and process
Summarize
Summary of Components and Process in CMDB Identification and Reconciliation
The CMDB Identification and Reconciliation functionality, powered by the Identification and Reconciliation Engine (IRE), is essential for maintaining accurate and consistent Configuration Item (CI) data within the ServiceNow CMDB. This functionality ensures that CIs are uniquely identified and reconciled based on predefined rules and tasks, preventing duplicates and enforcing authoritative updates.
Show less
Identification and Reconciliation Processes
- Identification: Determines whether a CI already exists in the CMDB or if it is new, based on identification rules or unique CI IDs provided by data sources.
- Reconciliation: Controls updates to existing CIs by allowing only designated authoritative data sources to modify CI records and attributes, updating the CMDB in real time without a staging area. Reconciliation applies only during update operations, not inserts.
Supporting Tasks
- De-duplication Tasks: Automatically group duplicate CIs detected during the process for review, helping maintain CMDB integrity.
- Reclassification Tasks: Handle situations where matched CIs must change class (upgrade, downgrade, or switch). If automatic reclassification is disabled, manual review and action are required.
Identification and Reconciliation Engine (IRE)
IRE is a centralized, rule-based engine that applies identification and reconciliation rules to incoming data from multiple sources before data is inserted or updated in the CMDB. It ensures data integrity by preventing duplicates and enforcing authoritative writes.
APIs for Integration and Automation
ServiceNow provides a set of Identification and Reconciliation APIs designed for use with various data sources such as Discovery, Monitoring, or Import Sets. Data sources should invoke these APIs rather than writing directly to the CMDB, ensuring consistent and validated data updates.
- createOrUpdateCI(): Creates or updates CIs following identification and reconciliation rules.
- identifyCI(): Identifies whether a CI would be inserted or updated without committing changes.
- createOrUpdateCIEnhanced(): Supports enhanced features like partial payloads, partial commits, and deduplication.
- identifyCIEnhanced(): Similar to identifyCI but with enhanced features, used without committing.
- CMDBTransformUtil: Specifically for Import Sets to apply identification and reconciliation during data import.
Customization and Rule Management
Predefined identification and reconciliation rules exist for many base system tables and can be customized to fit organizational needs. New CMDB tables inherit rules from their parent tables unless overridden by rules defined at the child level. This flexibility allows precise control over how CIs are identified and reconciled across different CI classes.
Practical Benefits for ServiceNow Customers
- Ensures the CMDB remains accurate and free of duplicate CIs.
- Maintains authoritative control over CI data updates, preserving data integrity.
- Enables integration with multiple data sources through robust APIs, facilitating automated and consistent CI management.
- Allows customization of identification and reconciliation rules to align with specific organizational processes.
The CMDB Identification and Reconciliation functionality is supported by the Identification and Reconciliation engine (IRE), rules, and tasks. Identification rules, reconciliation rules, IRE data source rules, de-duplication tasks, and reclassification tasks determine how IRE identifies and reconciles CI.
Concepts and Components of Identification and Reconciliation
- Identification
- Process of uniquely identifying CIs, to determine if a CI already exists in the CMDB or if it is a newly discovered CI that must be added to the CMDB. Identification processes rely on identification rules, or on unique IDs for CIs that data sources can provide.
- Reconciliation
Process of reconciling CIs and CI attributes by allowing only designated authoritative data sources to write to the CMDB at the CI table and attribute level. The CMDB is updated in real time as records are being processed. There is no staging area to verify the reconciliation activities before they are committed. Reconciliation processes rely on reconciliation rules and IRE data source rules.
Reconciliation is required only for update operations, when the identification process identifies a CI in the CMDB that matches an incoming CI in the payload. When IRE inserts a new CI, reconciliation is not applied.
- De-duplication tasks
- If the instance encounters duplicate CIs during the Identification and Reconciliation process, it groups each set of duplicate CIs into a de-duplication task. Review the information in these tasks to see how it was determined that these CIs are duplicates.
- Reclassification tasks
- During the CI identification process, a matched CI might need to be upgraded, downgraded, or switched to another CI class. If automatic reclassification is disabled, then the system generates a reclassification task. Review the information in these tasks, and decide whether a manual reclassification of the CI is appropriate.
- APIs
The Identification and Reconciliation APIs are a centralized set of APIs that can be used with different sources of data such as Discovery, Monitoring, or Import Sets. You can use it to enforce Identification and Reconciliation before data is stored in the CMDB. Data sources do not directly write to the CMDB. Instead, they call APIs first to ensure that the data being written does not introduce inconsistencies.
Identification engine APIs are accessible in scoped apps. The Configuration Management For Scoped Apps (CMDB) plugin (com.snc.cmdb.scoped) allows a scoped app in scripts to use the prefix 'sn_cmdb.IdentificationEngine.<method>' to access identification engine APIs. The Configuration Management For Scoped Apps (CMDB) plugin is activated in base systems.
- createOrUpdateCI(): A scriptable API that creates or updates a CI based on identification and reconciliation rules.
- identifyCI(): Similar to the createOrUpdateCI API, but does not commit the result to the database. Use this API with a given payload to find out if the identification engine will perform insert or update operations, without committing the operation.
- CreateOrUpdateCIEnhanced(): A scriptable API that provides the functionality of enhanced IRE features such as partial payload, partial commit, incomplete payload, and deduplication of payload items. You can select the enhanced features to use. However, if you enable partial payloads, then deduplication of payload items and partial commit are automatically enabled.
- identifyCIEnhanced: Similar to the createOrUpdateCIEnahnced API, but does not commit the result to the database. Use this API with a given payload to find out if the identification engine will perform insert or update operations, without committing the operation.
- CMDBTransformUtil: An API to be used exclusively with Import Sets to apply Identification and Reconciliation processes to data imported by Import Sets.
Predefined identification are included for many of the tables in the base system. You can customize these rules for your organization. When a new table is created in the CMDB, it derives identification and reconciliation rules from its parent table if these rules exist. To apply identification and reconciliation rules to a new table, create the rules either at the child level or at its parent level.
Identification and Reconciliation Engine (IRE)
- IRE prevents duplicate CIs by uniquely identifying CIs.
- IRE reconciles CI attributes by allowing only authoritative data sources to write to CMDB.