Issue with CI Identifiers

pramodkumar
Tera Expert

Hi All,

 

We are using the out-of-box CI identifier ‘Hardware Rule’ on the cmdb_ci_hardware table. The priority 1 identifier entry is product_instance_id, and priority 2 is cmdb_serial_number, with criteria based on serial number and serial number type. For a single CI, there can be multiple records in cmdb_serial_number with different types (bios, uuid etc). Since we have multiple discovery sources, does the identification process require a match with just one entry in cmdb_serial_number, or must all serial number types match for the CI to be identified?

 

We are seeing duplicate CIs for computers. Can we verify how different discovery sources are processing data against the identification rules? Additionally, how can we check what information each discovery source is returning for the serial number?

 

Thanks!

2 REPLIES 2

pavani_paluri
Tera Guru

Hi @pramodkumar ,

 

ServiceNow first tries to match a computer using product_instance_id. If that matches, it’s done.
If that’s not available, it looks at serial numbers.
A computer can have multiple serial numbers (BIOS, UUID, chassis, etc.).
The system does not require all of them to match. Just one matching serial number is enough to identify the CI.


Why duplicates happen
Different discovery tools (like SCCM, ServiceNow Discovery, JAMF, etc.) may send different serial number types.
Example: SCCM reports BIOS serial, Discovery reports UUID. Since they don’t match, ServiceNow thinks they’re two different computers and creates duplicates.

 

How you can check
1. Look at the CI record → open the related list of serial numbers and see what values are stored.
2. Check the discovery source field → this tells you which tool provided the data.
3. Review identification logs → they show which identifier rule was used and why a new CI was created.

 

Decide on one “preferred” serial number type (usually BIOS) and make sure all sources report it consistently.
If needed, customize the Hardware Rule so it only uses that type.
Use reconciliation rules to control which source wins when multiple tools send conflicting data.

 

Mark it helpful if this helps you to understand. Accept solution if this give you the answer you're looking for
Kind Regards,
Pavani P

Vishnu-K
Kilo Sage

Hi @pramodkumar ,

 

1. Does IRE require all serial types to match? Nope, only one matching entry in cmdb_serial_number is enough. Unless you have "Enforce Exact Count Match" enabled, IRE doesn't need every serial type to match. So if one source sends bios and another sends uuid with no existing match, Priority 1 fails, falls to Priority 2, and if the serial value also differs between sources it just creates a new CI - which is probably why you're seeing duplicates.

 

2.You can query the sys_object_source table filtered by your discovery source name to see which CIs each source is mapped to.

 

3. One more thing , check CMDB 360  and pull up one of the duplicate CIs. It gives you a nice breakdown of all sources reporting on that CI and you can see if two sources are writing to different CI records instead of the same one. That should tell you exactly where things are going wrong.

 

Hope that helps!

 

If it helped you please do mark it as helpful and accept the solution

 

Thanks,

Vishnu