AssetTrack and your discovery system can both integrate with ServiceNow without creating duplicate Asset and CI records. For this to happen you must...
Ensure Discovery and AssetTrack use the Same Key
AssetTrack and your Discovery system must use the same “key” to find a matching asset. This may be a Serial Number, an Asset Tag, or whatever has been configured as the key for the table.
Ensure Discovery Searches All Keys
AssetTrack by default searches for existing Asset records by Asset Tag and Serial Number. As long as these values are collected via an AssetTrack form, AssetTrack will find any existing matching Asset records. The discovery system should do the same. It must search for existing Asset or CI records based on all potential unique keys (Asset Tag, Serial Number) to ensure it doesn't create duplicate records.
Ensure ServiceNow Business Rules are Enabled and Unaltered
Ensure the ServiceNow business rules that keep assets and CIs in sync have not been altered or disabled. If they have been disabled, CI records will not be created when AssetTrack creates Asset records, and Asset records won't be created with Discovery creates CI records. The following out-of-box business rules should be active and unaltered. We have not witnessed a scenario where duplicates were caused by discovery not checking the appropriate unique keys and the business rules had not been altered.
|alm_asset||Create CI on Insert||Creates an associated CI record if one does not already exist.|
|alm_asset||Update CI Fields on Change||Updates associated CI record when Asset information changes.|
|cmdb_ci||Create Asset on Insert||Creates and associated Asset record if one does not already exist.|
|cmdb_ci||Update Asset Fields on Change||Updates associated Asset record when CI information changes.|
Examples of Bad Configurations of ServiceNow
Disabling the Create CI on Insert Rule
One of our clients had disabled the Create CI on Insert rule on the alm_asset table. So no CI record was created when AssetTrack created an Asset record. This caused the discovery system to not find an existing CI record so it created a new one. This is turn triggered the Create Asset on insert rule, which created the duplicate asset.
The fix here was to enable the Create CI on Insert rule to ensure CI records are created when Asset records are inserted.
Using Different Keys
At another client, they used Asset Tag as the only key field when using AssetTrack. Their Discovery system only used Serial Number. Because each system uses a different key, the ServiceNow business rules are unable to find matching records, which results in duplicates.
The fix here is to ensure AssetTrack captures the Asset serial number along with the Asset Tag. The Discovery system can then find an existing CI record by serial number, preventing duplicates.