Ensure Hardware CI - Asset Linkages Product Success Playbook Ensure Hardware Asset - CI Linkages A step-by-step guide to analyze and remediate unpopulated hardware CI asset attributes Table of Contents Summary Goal of this Playbook Audience Problem Overview Executive Summary How this playbook can help you achieve business goals How this playbook is structured Problem Analysis Upstream Causes Downstream Consequences Impact on Your Business Engagement Questions Remediation Plays Summary Play 1: Review your data Play 2: Analyze Existing Hardware CI Play 3: Ensure the conditions for automatic asset creation Play 4: Manually update CI Model IDs Play 5: Remediate external sources of Hardware CI Data Governance Summary Goal of this Playbook To help identify, remediate, and prevent missing asset linkages expressed by unpopulated asset references in hardware CI records. Details about this playbook Author Peter LaudatReviewer Bibu Elias PunnachalilDate 05/17/2023Addresses HSD # HSD0010608Applicable ServiceNow Releases AllTime Required Approximately 1 to 24 hours (depending on your environment) Audience Asset Management teamConfiguration Management teamServiceNow Administrator Problem Overview Unpopulated asset attribute references in a configuration item (CI) record obscures the linkage between the CI and its asset information. This Asset-CI linkage helps organizations accurately manage, track, and account for separate but mutually interacting operational (CI) and financial (asset) views of important hardware investments throughout their life cycles. This playbook assumes that the discovered CI are legitimate, should be tracked, and are not Consumables. Executive Summary How this playbook can help you achieve business goals This playbook provides guidance on how to find, remediate, and prevent unpopulated hardware asset attributes for hardware CI required to be tracked as assets. The Asset-CI linkage is important if an organization has requirements to manage and track the financial aspects of a hardware component's life cycle. How this playbook is structured The playbook guides you through 6 plays to remediate unpopulated Asset attributes in CI records: Play 1 (a review data play) aims at identification of CI records with unpopulated Asset references.Play 2 (an analysis play) aims at analysis of CI records with unpopulated Asset references.Play 3 (a fix play) aims at assurance of the necessary conditions enabling automatic Asset-CI linkages when CI are created or discovered.Play 4 (a fix play) aims at manual population of CI Model IDs for automatic Asset - CI linkages.Play 5 (a fix play) aims at bulk creation of automatic Asset-CI linkages via remediation of CI transform maps.Data governance aims at prevention of unpopulated Asset attributes in Hardware CI records. Problem Analysis Upstream Causes Incomplete data imported from external sources (integrations, import sets, discovery, manual entry).Transform Maps that do not include the asset information or have improper mappings.Model Category with unpopulated asset class attribute.Customizations that result in failure to synchronize CI to hardware asset record.Accidental deletion of Asset attribute value from the CI record. Downstream Consequences Data Consequence Broken linkage between the CI record and its corresponding Asset record. Operation Consequence Additional data maintenance burden (e.gl, manual CI/asset reconciliation, ETL imports/exports, table clean up, etc.).Difficulty identifying the asset with vendor delays, or missed opportunities to realize full warranty, support, renewal, and contractual benefits.Erosion of IT service actors' trust caused by lack of asset information.IT service actors burdened and delayed while seeking alternate sources of accurate data on the fly.Use of alternate sources of asset information reduces recording and usage of data in the system and in the audit function, resulting in lost audit trails.Degraded asset management processes due to misleading hardware device counts, statuses, locations, users, and historical impact of other ITSM process on them. App Consequence Invisibility of configuration item asset information to Hardware Asset Management. Impact on Your Business Broken or obscured linkages to actual hardware caused by unpopulated asset information degrades: Financial management investment and cost visibility, enablement of better operational and financial management decisions, and room in the budget to drive innovation and growth Contract management ability to properly manage creation, edits, renewal, deactivation, and visibility of warranties, contracts, and vendor agreements Vendor management operational performance data that could be used as a feedback loop with vendors (e.g., in negotiations), like performance vs. SLA Audit/Compliance compliance with regulatory and contractual responsibilitiesmanagement ability to maintain internal controls and audit trails Engagement Questions: Consider the answers to these questions: How are CI populated? Manually? Via Discovery? Integration with external sources?Are you currently using Hardware Asset Management?Are you currently using the Identification and Reconciliation Engine (IRE)?What process or criteria are you using to match physical devices to asset records?Is there a documented process in place to address missing or incorrect asset information?Do you have issues with your ITSM process for linkage to asset records where needed? Remediation Plays SummaryThe table below lists and summarizes each of the remediation plays in the playbook. Details are included later. Play Name D Play 1 - Review your data What this play is about Identify Hardware Configuration Items (CI) with unpopulated Asset attributes Required tasks List Hardware CI with unpopulated Asset attributes Play 2 - Analyze Existing Hardware CI What this play is about Identify CI to be remediated and remediation plan Required tasks Manipulate hardware CI list to identify patterns and consult with configuration management team Play 3 - Ensure the conditions for automatic Asset creation What this play is about Ensure the conditions for automatic Asset creation Required tasks Ensure that the proper scripts and configurations are in place Play 4 - Manually update CI Model ID What this play is about Manually update CI Model IDs to trigger automatic Asset - CI linkages Required tasks Manually update CI or groups of CI with properly configured Model IDs Play 5 - Remediate external sources of Hardware CI What this play is about Review and remediate external hardware configuration item data source(s) and their related transform maps as needed to enable automatic asset creation Required tasks Edit data sources and transform maps as needed Data Governance What this play is about Take steps to prevent unpopulated asset attributes in configuration item records. Required tasks Rerun Play 1 periodically and run the other plays indicated by the situation Play 1 - Review Your Data What this Play is about Identify hardware Configuration Items (CI) with missing asset attributes. Required tasks In the application navigator filter, type cmdb_ci_hardware.filter and then hit ENTER.Set the list filter to Operational status = Operational > Install Status = Installed > Model ID Display name does not contain vmware > Asset is empty, as depicted in the picture below and run it. Example:If the query returns zero records, you've completed this playbook and can stop here. Otherwise, continue to the next play. Play 2 - Analyze Existing Hardware CI What this Play is about List, filter, group, and analyze existing hardware CI to identify patterns that can be used to support remediation of groups of the same. This playbook assumes that the discovered CI are legitimate, are not Consumables, and should be tracked as assets. Required tasks As needed, add additional attribute columns (e.g., Created, Created By, Discovery source, Managed By Group, Model ID, Owned by, Support group, Requires verification, Updated, Updated by, etc.) to the list view. Filter or group the list in various ways to analyze and identify the actor and creation method (e.gl, manual entry, import, integration, discovery) to identify groups of Hardware CI with similar creation or update characteristics. For example, groups of CI with coincident or nearly coincident Created time stamps and the same Created by values were likely discovered or imported. Individual CI with fairly disparate time stamps might have been entered manually.The asset management team should identify, mitigate, or prevent any issues with the previous asset life cycle stages such that CI are not automatically created when assets are created or received. If unlinked CI remain, the asset management team should work with the configuration management team to identify whether any of the CI records represent unsanctioned CI on the network and address them.If all remaining CI are linked with assets, stop here, else proceed to Play 3 to ensure the conditions that cause Now platform to auto-create assets when new CI are discovered or created. Play 3 - Ensure the conditions for automatic asset creation What this Play is about Ensure that each of the proper technical conditions for automatic asset creation are in place Required tasks Condition 1: Script Include AssetandCI exists and is active Navigate to System Definition > Script Includes and confirm that Script Include AssetandCI exists and is active.If the script exists and is inactive, open its form and activate it by checking its Active checkbox.If it does not exist and less than seven days have elapsed since deletion, type sys_metadata_delete.list in the application navigator filter followed by ENTER to navigate to the Deleted Application Files list. Filter the list for the deleted application file (script), click it open, then click the Restore File button to restore it.If it does not exist and step 3 above did not recover the deleted script, get a copy of the Script include from another instance and import it into the current instance. Condition 2: Business Rules Create Asset on insert and Create asset on model change exist and are active Navigate to System Definition > Business Rules and confirm that Business Rules Create Asset on insert and Create asset on model change exist and are active.For each Business Rule, if it exists and is inactive, open its form and activate it by checking its Active checkbox.If either Business Rule does not exist and less than seven days have elapsed since deletion, type sys_metadata_delete.list in the application navigator filter followed by ENTER to navigate to the Deleted Application Files list. Filter the list for the deleted Business Rule (application file), click it open, then click the Restore File button to restore it. If it does not exist and step 3 did not recover the deleted Business Rule, get a copy of the Business Rule script from another ServiceNow instance and import it into the current instance. Condition 3: Target Model Categories are configured, enabling automatic creation of asset records when CI are created with Model IDs Navigate to Product Catalog > Product Models > Model Categories. For each target Model category: Ensure that Asset class and CI class are both defined. If not, you can't edit them in an existing Model Category, so create a new Model Category and define its CI class and Asset class, then ensure that it's used by the Models for the target CI.Uncheck the Enforce CI Verification check box to enable automatic asset creation when CI are created or discovered.Example: Condition 4: Target Product Models are configured, enabling automatic creation of assets when CI records are populated with Model IDs Navigate to Product Catalog > Product Models > Hardware Models. For each target Hardware Model: Specify the Model's Model categories. Note that automatic asset creation is disabled for the Consumables model category.Set Asset tracking strategy to Leave to category.Example: To manually update CI Model ID and create Asset-CI linkages, continue to Play 4. To automate creation of Asset-CI linkages for large numbers of CI, continue to Play 5. Play 4 - Manually update CI Model ID What this Play is about Manually update the CI records with missing asset references by editing the CI records' with the properly configured model IDs from Play 3 to trigger Now platform to auto-create Asset references in the CI records. To update groups of CI records with the same model id, follow the instructions given in knowledge article Edit multiple records in a list using the list editor. Required tasks (Optional) For this play, consider disabling asynchronous asset creation (see the Asset and CI properties section in Asset and CI management for details) to speed up your verifications that the proper conditions for asset auto-creation are satisfied. Intended to manage performance during bulk asset creation, asynchronous asset creation imposes a 15 minute delay between satisfaction of the conditions for asset auto-creation and the actual insertion of the asset record. To navigate to the system properties list, type sys_property.list in the application navigator filter and hit ENTER. Filter the list for glide.create_alm_asset.async and set its value to false.Example:For each CI record in the list view with an unpopulated Model ID cell, click the outside right of the cell to pop up a selection modal. Click the magnifying glass icon. The system will return a Product Models list. Use the list to select or create the Product Model that best matches the CI. For more details, see KB0832205 - Managed CIs with Model Entries.Example:Verify that the Now Platform auto-created the Asset reference.Example:If Now auto-populated the Asset reference, stop here, otherwise contact Now Support. Play 5 - Remediate External Sources of Hardware CI What this Play is about Review external hardware configuration item data source(s) and their related transform maps. Remediate them as needed to enable automatic asset creation for large numbers of CI. Required tasks Assume that out of the box asset classes are acceptable for hardware.Ensure that you receive hardware data with the following attributes, at minimum: Name, Manufacturer, Model, and Class.Example: NameManufacturerClassModelWorkstation FLXDell Inc.ComputerDell Inc. Precision T1600 Tower Workstation Navigate to System Import Sets > Administration > Transform Maps.Filter the list such that Target Table field is cmdb_ci_hardware.Example:Review each map for Field mappings where the target fields include name, manufacturer, model, or class.(Optional) For help to navigate to the Field maps list view and locate the correct transform map(s), type "sys_transform_entry.list" in the application navigator filter followed by ENTER. Set the personalized list view columns to display Choice action, Map, Source table, Target table, Source field, and Target field. Filter the list view with query All > Target table starts with cmdb > Target field in manufacturer, model_id.Example:Click open the transform map(s) with source table name that starts with the letter 'u' and review the field maps. They should include target fields manufacturer and model_id.Example:If the field map target fields do not include manufacturer or model_id, click Related Link Mapping Assist.Example:Map the source fields manufacturer and model to target fields manufacturer and model_id and save.Example:The system will return the transform map view and the Field Maps tab should show the desired Field Maps mapping Source fields u_model to and u_manufacturer to Target fields model_id and manufacturer, respectively. If you are updating existing records, set Coalesce to true for the indicated Field Maps.Example:If the Run script check box is unchecked, check it to enable editing of the multi-line script field.Example:Add the two lines below to the script (making sure to use your source field names) and then save the transform map. The script will trigger Now Platform asset auto-creation while inserting the CI during transformation. var mmUtil = new global.MakeAndModelJS(); target.model = mmUtil.fromNames(source.u_manufacturer, source.u_model_id, source.u_class);Example:Click Related Link Transform.ExampleNavigate to cmdb_ci_hardware and filter and sort for the CI created in reverse chronological order. Verify that the CI you transformed now have populated Asset attributes.Example:Verify that the Now Platform auto-populated the CI record's Asset reference.If Now auto-populated the Asset references, repeat Plays 1, 2, and 8 as needed and then proceed to the Data Governance section. For manual remediation, repeat Plays 1 and 2. If Now did not auto-populate the Asset references, contact Now support. Data Governance What this Play is about Take steps to prevent unpopulated asset attributes in configuration item records. Required tasks Rerun Play 1 periodically or automate generation and distribution of reports on a scheduled basis.Execute the plays indicated by your analysis in Play 2.Review the transform maps as part of any new changes or configurations. Congratulations You have completed this Product Success Playbook. <!-- .SOKMKBArticle div.margin { padding: 10px 40px 40px 30px; color: #283d40; font-family: Century Gothic, Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; } .SOKMKBArticle div.fed{ background-color: #f5f8fa; border: 1px solid; border-color: #bfbfbf; padding: 10px; } .SOKMKBArticle .FedRestricted{ background-color: #c00000; color: #ffffff; padding: 10px; margin-top: 10px; text-align: center; font-size: 14pt; font-weight: bold; } .SOKMKBArticle .CustRestricted{ background-color: #ff0000; color: #ffffff; padding: 10px; margin-top: 10px; text-align: center; font-size: 14pt; font-weight: bold; } .SOKMKBArticle .SNRestricted{ background-color: #ea700d; color: #ffffff; padding: 10px; margin-top: 10px; text-align: center; font-size: 14pt; font-weight: bold; } .SOKMKBArticle .SNConfidential{ background-color: #ffc000; color: #ffffff; padding: 10px; margin-top: 10px; text-align: center; font-size: 14pt; font-weight: bold; } .SOKMKBArticle .Public{ background-color: #00b050; color: #ffffff; padding: 10px; margin-top: 10px; text-align: center; font-size: 14pt; font-weight: bold; } .SOKMKBArticle table.tocTable { border: 1px solid; border-color: #f2f2f2; background-color: #f2f2f2; padding-top: .6em; padding-bottom: .6em; padding-left: .9em; padding-right: .6em; } .SOKMKBArticle table.noteTable { align: left; border: none; border-color: #81b5a1; background-color: #f2f2f2; width: 100%; border-spacing: 2; font-size: 11px; } .SOKMKBArticle table.internalTable { border-top: 1px solid; border-left: 1px solid; border-color: #81b5a1; width: 100%; border-spacing: 1px; } .SOKMKBArticle .sp td { border-bottom: 1px solid; border-right: 1px solid; border-color: #81b5a1; background-color: #ffffff; height: 20px; padding-top: .5em; padding-bottom: .5em; padding-left: .5em; padding-right: .5em; } .SOKMKBArticle .sphr td { border-right: 1px solid; border-bottom: 1px solid; border-color: #81b5a1; background-color: rgb(245, 245, 245); padding-top: .5em; padding-bottom: .5em; padding-left: .5em; padding-right: .5em; height: 20px; } .SOKMKBArticle .sh td { border-bottom: 1px solid; border-right: 1px solid; border-color: #81b5a1; background-color: #81b5a1; color: #ffffff; height: 20px; padding-top: .5em; padding-bottom: .5em; padding-left: .5em; padding-right: .5em; } .SOKMKBArticle th { padding-top: .5em; padding-bottom: .5em; padding-left: .5em; padding-right: .5em; border-bottom: 1px solid; border-right: 1px solid; border-color: #646464; background: #646464; font-family: Century Gothic, Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: white !important; height: 20px; } .SOKMKBArticle td { border-color: #646464; margin: 5px 5px 5px 5px; padding: 5px 5px 5px 5px; font-family: Century Gothic, Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: #283d40; } .SOKMKBArticle p { color: #283d40; font-family: Century Gothic, Verdana, Helvetica, Arial, sans-serif; } .SOKMKBArticle li { color: #283d40; font-family: Century Gothic, Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; line-height: 1.5; } .SOKMKBArticle pre { font-family: Courier New; } .SOKMKBArticle div { font-family: Century Gothic, Verdana, Helvetica, Arial, sans-serif; } .SOKMKBArticle hr { border-top-width: 1px; border-top-style: solid; border-top-color: #81b5a1; } .SOKMKBArticle a { color: #81b5a1; } .SOKMKBArticle a.two:link { padding: 15px 45px 15px 45px; margin-top: 20px; color: #ffffff; text-align: center; background-color: #1F8476; border: 1px solid; border-color: #1F8476; } .SOKMKBArticle a.two:visited { padding: 15px 45px 15px 45px; margin-top: 20px; color: #ffffff; text-align: center; background-color: #1F8476; border: 1px solid; border-color: #1F8476; } .SOKMKBArticle a.two:hover { color: #ffffff; background-color: #259b8a; } .SOKMKBArticle .button { padding: 15px 45px 15px 45px; margin-top: 20px; color: #ffffff; text-align: center; background-color: #1F8476; border: 1px solid; border-color: #1F8476; } .SOKMKBArticle .title { font-family: Century Gothic, Verdana, Helvetica, Arial, sans-serif; color: #81b5a1; font-size: 30pt; } .SOKMKBArticle .hd1 { font-family: Century Gothic, Verdana, Helvetica, Arial, sans-serif; color: #283d40; font-size: 20pt; border-bottom: 1px solid; border-bottom-color: #81b5a1; text-decoration: none; } .SOKMKBArticle h1 { font-family: Century Gothic, Verdana, Helvetica, Arial, sans-serif; color: #283d40; font-size: 20pt; font-weight: normal; border-bottom: 1px solid; border-bottom-color: #81b5a1; text-decoration: none; } .SOKMKBArticle .hd2 { font-family: Century Gothic, Verdana, Helvetica, Arial, sans-serif; color: #68a1af; font-weight: bold; font-size: 16pt; text-decoration: none; } .SOKMKBArticle h2 { font-family: Century Gothic, Verdana, Helvetica, Arial, sans-serif; color: #68a1af; font-weight: bold; font-size: 16pt; font-weight: normal; text-decoration: none; } .SOKMKBArticle .hd3 { font-family: Century Gothic, Verdana, Helvetica, Arial, sans-serif; color: #283d40; font-weight: normal; font-size: 14pt; text-decoration: none; } .SOKMKBArticle h3 { font-family: Century Gothic, Verdana, Helvetica, Arial, sans-serif; color: #283d40; font-weight: normal; font-size: 14pt; text-decoration: none; } .SOKMKBArticle .hd4 { font-family: Century Gothic, Verdana, Helvetica, Arial, sans-serif; color: #283d40; font-weight: normal; font-size: 12pt; text-decoration: none; } .SOKMKBArticle h4 { font-family: Century Gothic, Verdana, Helvetica, Arial, sans-serif; color: #283d40; font-weight: normal; font-size: 12pt; text-decoration: none; } .SOKMKBArticle .hd5 { font-family: Century Gothic, Verdana, Helvetica, Arial, sans-serif; color: #283d40; font-weight: bold; font-size: 10pt; text-decoration: bold; } .SOKMKBArticle h5 { font-family: Century Gothic, Verdana, Helvetica, Arial, sans-serif; color: #283d40; font-weight: bold; font-size: 10pt; text-decoration: bold; } .SOKMKBArticle .hd6 { font-family: Century Gothic, Verdana, Helvetica, Arial, sans-serif; color: #283d40; font-weight: normal; font-size: 10pt; text-decoration: underline; } .SOKMKBArticle h6 { font-family: Century Gothic, Verdana, Helvetica, Arial, sans-serif; color: #283d40; font-weight: normal; font-size: 10pt; text-decoration: underline; } .SOKMKBArticle details { font-size: 10pt; } .SOKMKBArticle details[open] summary ~ * { animation: sweep .5s; margin-top: 0; padding-top: 10px; } @keyframes sweep { 0% {opacity: 0; margin-top: -10px} 100% {opacity: 1; margin-top: 0px} } .SOKMKBArticle summary { cursor: pointer; outline: none; margin-bottom: 3px; } .SOKMKBArticle .summary { background-color: #81b5a1; font-size: 10px; color: white; cursor: pointer; padding: 5px; width: 100%; border: none; text-align: left; outline: none; vertical-align: top; } -->