- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
3 weeks ago
Hi team,
I’m working on orphan rules in CMDB. I created an orphan rule for the Computer class and then executed the scheduled job. After execution, I noticed that the corresponding record in cmdb_health_result showed the CI as expected (orphan) with active = true.
However, after some time the same record’s active field switched back to false.
Additionally, in CMDB Workspace, under Correctness, the orphan rule results are not showing up at all.
Has anyone experienced this behavior? Am I missing a configuration step for keeping the orphan result active or for making it visible in CMDB Workspace?
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
3 weeks ago
Hi @dd31 ,
As per my understanding why your orphan rule result became inactive
1. Health results are transient by design
* Records in cmdb_health_result (including orphan results) are generated by the scheduled jobs (Correctness jobs).
* After the job runs, results are marked active = true.
* On the next run, if the CI no longer matches the orphan rule, ServiceNow sets that record’s active = false.
* This is expected, because CMDB Health always reflects the latest evaluation, not a static snapshot.
2. Orphan Rules depend on CI relationships
* If the CI gains a valid parent/relationship or the data changes in CMDB, the orphan condition may no longer apply → result becomes inactive.
* Sometimes even background reconciliation jobs (e.g., Identification & Reconciliation Engine) can update the CI and make it "not orphan" anymore.
Why results don’t show in CMDB Workspace → Correctness
* By default, CMDB Workspace Correctness dashboard only shows results from OOB correctness indicators (e.g., Missing, Duplicate, Required fields).
* Custom orphan rules you create will not automatically appear unless:
1. You associate your orphan rule to a Correctness Indicator Definition (cmdb_health_indicator_defn).
2. That indicator is tied to a CI Class and mapped in CMDB Health configuration.
Solution Steps which can be helpful
1. Make orphan results persist
* Verify that your orphan rule is correctly defined (check table cmdb_health_orphan_rule).
* Ensure the scheduled job "CMDB Health Orphan Detection" (or your custom one) runs regularly.
* Understand that active = false is normal when the CI no longer qualifies. If you want history, use cmdb_health_history instead of relying on cmdb_health_result.
2. Make orphan rule visible in CMDB Workspace Correctness
1. Navigate to CMDB Health → Correctness Definition (cmdb_health_indicator_defn).
2. Create or clone a correctness indicator for your orphan rule:
* Source type: Orphan Rule.
* Point it to your rule.
* Target class: Computer (cmdb_ci_computer).
3. Add that indicator to a Correctness Group (e.g., "Computers Correctness").
4. Go to CMDB Health → Setup → Configure Class Health and ensure that group is included for the cmdb_ci_computer class.
5. Now run the CMDB Health jobs again. Your orphan results should appear in CMDB Workspace → Correctness under the Computer class.
Please appreciate the efforts of community contributors by marking appropriate response as Mark my Answer Helpful or Accept Solution this may help other community users to follow correct solution in future.
Thank You
AJ - TechTrek with AJ - ITOM Trainer
LinkedIn:- https://www.linkedin.com/in/ajay-kumar-66a91385/
YouTube:- https://www.youtube.com/@learnitomwithaj
Topmate:- https://topmate.io/aj_techtrekwithaj (Connect for 1-1 Session)
ServiceNow Community MVP 2025
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
3 weeks ago
You have not defined any conditions to identify orphan CIs. Define correct conditions for orphan rules. Go through below articles for best practices to set up orphan rules,
https://support.servicenow.com/kb?id=kb_article_view&sysparm_article=KB0780988
https://support.servicenow.com/kb?id=kb_article_view&sysparm_article=KB0829101
If this helped to answer your query, please accept the solution and close the thread.
Thanks,
Bhuvan
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
3 weeks ago
hi @Bhuvan
the docs are more related to remediation of orphans, in my case the orphans are not getting detected properly, as you mentioned the conditions are not defined, i corrected the computer class conditions and still the results are same as earlier.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
3 weeks ago
Hi @dd31 ,
As per my understanding why your orphan rule result became inactive
1. Health results are transient by design
* Records in cmdb_health_result (including orphan results) are generated by the scheduled jobs (Correctness jobs).
* After the job runs, results are marked active = true.
* On the next run, if the CI no longer matches the orphan rule, ServiceNow sets that record’s active = false.
* This is expected, because CMDB Health always reflects the latest evaluation, not a static snapshot.
2. Orphan Rules depend on CI relationships
* If the CI gains a valid parent/relationship or the data changes in CMDB, the orphan condition may no longer apply → result becomes inactive.
* Sometimes even background reconciliation jobs (e.g., Identification & Reconciliation Engine) can update the CI and make it "not orphan" anymore.
Why results don’t show in CMDB Workspace → Correctness
* By default, CMDB Workspace Correctness dashboard only shows results from OOB correctness indicators (e.g., Missing, Duplicate, Required fields).
* Custom orphan rules you create will not automatically appear unless:
1. You associate your orphan rule to a Correctness Indicator Definition (cmdb_health_indicator_defn).
2. That indicator is tied to a CI Class and mapped in CMDB Health configuration.
Solution Steps which can be helpful
1. Make orphan results persist
* Verify that your orphan rule is correctly defined (check table cmdb_health_orphan_rule).
* Ensure the scheduled job "CMDB Health Orphan Detection" (or your custom one) runs regularly.
* Understand that active = false is normal when the CI no longer qualifies. If you want history, use cmdb_health_history instead of relying on cmdb_health_result.
2. Make orphan rule visible in CMDB Workspace Correctness
1. Navigate to CMDB Health → Correctness Definition (cmdb_health_indicator_defn).
2. Create or clone a correctness indicator for your orphan rule:
* Source type: Orphan Rule.
* Point it to your rule.
* Target class: Computer (cmdb_ci_computer).
3. Add that indicator to a Correctness Group (e.g., "Computers Correctness").
4. Go to CMDB Health → Setup → Configure Class Health and ensure that group is included for the cmdb_ci_computer class.
5. Now run the CMDB Health jobs again. Your orphan results should appear in CMDB Workspace → Correctness under the Computer class.
Please appreciate the efforts of community contributors by marking appropriate response as Mark my Answer Helpful or Accept Solution this may help other community users to follow correct solution in future.
Thank You
AJ - TechTrek with AJ - ITOM Trainer
LinkedIn:- https://www.linkedin.com/in/ajay-kumar-66a91385/
YouTube:- https://www.youtube.com/@learnitomwithaj
Topmate:- https://topmate.io/aj_techtrekwithaj (Connect for 1-1 Session)
ServiceNow Community MVP 2025
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
3 weeks ago
If you click on the information icon, it will show the reason for the failure.
The CMDB Health Metric score has a failure threshold of 50000(OOTB) which might be exceeding in your case. In order to force a score, you can add health inclusion rules to include only the CIs that you care about(eg:Operational Status is Operational etc). Then re-run the score scheduled job again.