Azure Discovery creating multiple or same CI with same IPs in VM instance class
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
3 weeks ago
Hello All,
Need help to understand Azure Discovery issue, i.e.
Azure Discovery creating multiple or same CI with same IPs in VM instance class
as of now cmdb_ci_vm_instance Operational Status for all CI's is blank which it should not be
and only install status in use.
What is expected behavior while creating or updating Virtual Machine Instance
in cmdb_ci_vm_instance Class
Thanks
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
3 weeks ago
Hi @ExtAbhayPat ,
As per my understanding why you see duplicates & blank Operational Status
1. Duplicate CIs with same IPs
* Azure Discovery may create multiple CIs for the same VM if Identification & Reconciliation (IRE) rules are not properly keyed.
* If multiple data sources (e.g., Cloud Discovery + IP-based Discovery + SCCM/Intune) update the same VM, but IRE doesn’t have a unique authoritative identifier, duplicates are created.
* For Azure VMs, the correct unique identifier is usually the Azure Resource ID (not just IP address or hostname). If that’s missing from the IRE rule, duplicates occur.
2. Blank Operational Status
* Out of the box, Azure Cloud Discovery does not populate Operational Status for cmdb_ci_vm_instance. It only sets Install Status (usually Installed).
* Operational Status (Up/Down) is normally updated by Event Management, Monitoring integrations, or Orchestration workflows — not by Discovery.
* That’s why you see Operational Status = blank.
Expected Behavior (OOB ServiceNow)
When a VM is discovered into cmdb_ci_vm_instance via Azure Cloud Discovery:
* Install Status → should be set to Installed (or updated if already discovered).
* Name / Resource ID / Subscription / Region / IP addresses → should be populated.
* Operational Status → remains blank by default unless you integrate with monitoring sources (SolarWinds, Azure Monitor, Event Mgmt).
So, it is expected that only Install Status is populated by Cloud Discovery.
How to Fix / Best Practices
1. Avoid Duplicate VM Instances
* Verify your Identification Rule for cmdb_ci_vm_instance (CMDB → Identification Rules).
* Ensure Azure Resource ID is included as a unique identifier.
* In IRE logs (sys_object_source, sys_object_tracker), check if records are being skipped/inserted twice.
2. Populate Operational Status (if required)
* Integrate Azure Monitor / Event Management → this updates Operational Status based on health signals.
* Or, create a Discovery Behavior/Script Include to set Operational Status = Operational at discovery time (not best practice, since Discovery doesn’t track uptime).
3. Set Data Source Precedence (Reconciliation)
* Define Data Source Precedence so that Azure Discovery is authoritative for cloud properties, and monitoring tools (Event Mgmt, APM) are authoritative for status.
* This prevents overwriting and duplicates.
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
Thank you for your reply,
1> Duplicate IP same VM where Object id is diff where IRE is configured - so working as expected.
2> Operational status is blank because Default Value 1 is removed from parent table cmdb_ci of Operational Status field - Deletion Strategy on sa_ci_to_pattern require Operational Status to be Operational to work that pattern - Tried setting it but still after discovery its not working.
3> If VM is Terminated from Azure it should set install status filed to be Retired & State filed to be Off
and Operational status should be also updated as Retired - This part is not working as of now.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
3 weeks ago
Not resolved this issue yet,
Observed Every day new VM Instance with different Object Id are getting created,
But actual active VM Instance count is less.
Discovery brings State & Install Status field updates but look like its not updating correct state of VM in VM Instance Table
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
3 weeks ago
Hi @ExtAbhayPat ,
What’s happening: Azure reuses IPs for VM instances but allocates a new Object ID when the VM is re-created or restarted.
Why: The IRE (Identification & Reconciliation Engine) is designed to treat Object ID (cloud-native identifier) as a unique key for the CI.
Best Practice Fix:
* Ensure the Identification Rule for cmdb_ci_vm_instance includes the Cloud Resource Identifier (Object ID / Azure Resource ID) along with Subscription + Tenant rather than relying on IP alone.
* This way, IRE won’t merge CIs incorrectly and avoids duplication due to reused IPs.
* Keep IP as a contributing identifier, but not the only key.
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