Steps to help prevent duplicate or orphaned records after running Vulnerability Response CI lookup rules
Summarize
Summary of Steps to help prevent duplicate or orphaned records after running Vulnerability Response CI lookup rules
This guidance helps ServiceNow customers prevent duplicate or orphaned configuration item (CI) records in the CMDB when importing vulnerability data using Vulnerability Response CI Lookup Rules. Poorly constructed rules can cause performance issues and lengthy processing times. Careful testing, analysis, and cleanup are essential to maintain data integrity and system performance.
Show less
Key Steps to Prevent Duplicate or Orphaned Records
- Test with Small Data Subsets: Use focused, small subsets of data specific to the CI Lookup Rule under test. Deactivate all other CI Lookup Rules to isolate testing.
- Analyze Matched CIs: Examine matched versus unmatched CIs to ensure an acceptable match percentage. Perform manual searches to identify naming or field issues and refine matching rules as needed.
- Review Unmatched CIs: Group unmatched CIs by class to identify unexpected entries (e.g., certificates, network cards). Determine whether classes should be excluded or reclassified and review CI states such as Retired.
- Remove Test Data: Once expected matching behavior is confirmed, delete test data from relevant tables (Discovered Items, Vulnerable Items, Remediation tasks) and rerun CI Matching rules to ensure a clean state.
Deleting Data from Tables
If imported data is incorrect, customers can remove it using several methods, each requiring ServiceNow expertise:
- Delete All Records via Table Configuration
- Use Table Cleaner through Auto Flushes (sysautoflush.list)
- Truncate tables with background scripts (with rollback disabled)
Important: Avoid using truncateTable in production environments and consult ServiceNow Support before large deletions in production or shared environments.
Additional Resources
- Articles on CI Lookup Rules integration with Qualys and Rapid7 for detailed configuration guidance
- Related tasks such as de-duplicating existing CIs, reclassifying unmatched CIs, reconciling discovered items, and resolving remediation tasks
Take steps to help prevent duplicate or orphan records resulting from matching (configuration items (CIs) within the CMDB.
Importing vulnerability data can be taxing on an instance and performance issues with resources can occur if rules are not carefully constructed. The logic used to iterate through and perform matching within the CMDB can result in lengthy processing times. Thorough testing and debugging of processing scripts in the rules helps alleviate the potential of issues later in the process.
Preventing duplicate or orphaned records
- Use small subsets of data that are specific to the CI Lookup Rule being tested.
- Set all CI Lookup Rules, other than the one being tested, to Inactive.
- Analyze the imported CIs to ensure that you are observing the expected behavior and matching is occurring properly.
- Review Matched CIs
- Examine the count of matched vs unmatched CIs. Ensure that the percentage is acceptable. Don’t just look at the first page, that is likely the first one inserted.
- Manually search for some CIs.
- Check to see if there are any naming or field problems (such as searching for a
specific domain).
If it seems appropriate, add additional matching rules.
- Review Unmatched CIs
- Navigate to the Unmatched CIs table.
- Group by Configuration Item class.
- Review any classes that don’t look right (certificates, network cards, images).
- Figure out why didn’t they match the correct CI?
- Should the class be excluded?
- Should the class be elevated to a related class?
- Review CI states such as Retired.
- Remove Test Data
- Once you begin to observe the correct or expected behavior in CI matching, start over.
- Start over by: Deleting the data used for testing: (see the Deleting
data from tables section)
- Discovered Items
- Vulnerable Items
- Remediation tasks
- Manually rerunning all the CI Matching rules.
For more information on CI Lookup Rules and Qualys, see the KB0750656 article.
For more information on CI Lookup Rules and Rapid7, see the KB0818096.
Deleting data from tables
- Using Delete All Records on Table Configuration.
- Configure the Table Cleaner by navigating to Auto Flushes (sys_auto_flush.list) and creating a new Auto-flush record.
- Truncate the gs.truncateTable using a background script.
Using truncateTable requires turning off the record for rollback check box in the background scripts. Otherwise, a copy of the table and related cascade tables are created, take too long, and most likely fail.
Note:Never use truncateTable in a production environment. Consult you Support representative before executing large deletions in production or shared environments.