In CMDB health dashboard all different metrics are evaluated based on different rules that we define specific to health rules. But the Duplicate metrics are little different. This is explained in this article.
Jakarta or later versions.
How it Works:
Many times while we look at the CMDB Health dashboard results (cmdb_health_result) we see all different metrics and its related CI results in it. For all these, we can find some health-related rules and its metric definitions.
But in the case of duplicate metrics, we can not find how it was determined and how it was evaluated. Duplicate metric is a unique metric and it works as below:
Starting from Jakarta versions with the introduction of CMDB Identification and Reconciliation, whenever a CI is passed through IRE (Identification and Reconciliation Engine) then the backend Java code identifies the CI using the CI Identifiers defined. During this process, the IRE also finds if there are any duplicates existing based on CI Identification rules. If it finds any duplicates of that CI then it will create a "Reconcile Duplicate Task" (table: reconcile_duplicate_task). And related duplicate CIs are audited in table "Duplicate Audit Result" (duplicate_audit_result).
The "Reconcile Duplicate Task" internal payload field gives clear information about the CI details and based on
Reconcile Duplicate Tasks can be found via module "De-Duplication Tasks".
Related Duplicates CIs are stored in Duplicate Audit Result
Coming to CMDB Health results, unlike all other metrics the duplicate metrics are evaluated just by processing the active Duplicate tasks and its related audit results.
Below is the LifeCycle of CMDB Duplicate CIs:
- CI passed through IRE.
- IRE Engine Identifies the CI using the CI Identifiers.
- During this identification process (step#2) itself, it finds any duplicate CIs based on CI Identifiers.
- If IRE finds any matching duplicate CIs then it immediately creates a Reconcile Duplicate Task and attaches the duplicate CIs in Duplicate Audit Result
- During the CMDB Health job execution, the java code determines the existing valid duplicates from Reconcile Duplicate Task table.
- Also grabs the related CIs from the Duplicate Audit Result and puts in cmdb_health_result table with metric Duplicate.
Please refer below Docs for more details about IRE and CI Identifiers.