Managed CIs with Model entries <!-- .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: #81b5a1; background-color: #283d40; font-family: Century Gothic, Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: #ffffff; height: 20px; } .SOKMKBArticle td { border-color: #81b5a1; margin: 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; } table, th, tr, td { border: 1pt solid #646464; } --> Get Well Playbook Managed CIs with Model entries A guide for how to manage Hardware CIs with missing Model entries in the CMDB Table of Contents Summary Goal for the Playbook Audience. 1 Problem Overview.. 1 Executive Summary. 1 How this playbook can help you achieve your business goals 1 How this playbook is structured. 1 Problem Analysis 1 Upstream Causes 1 Downstream Consequences 1 Impact on Your Business 1 Engagement Questions 1 Remediation Plays 1 Summary. 1 Analysis Play. 1 Fix Play. 1 Data Governance Play. 1 Summary Goal for the Playbook The goal of this playbook is to help you identify and manage your CIs that do not have a Model Id populated Author Johnny WalkerDate 07/15/2020Addresses HSD # HSD0003724, HSD0006971Applicable ServiceNow Releases All ReleasesTime required Approximately 1-4 Hours Audience Configuration Managers or Configuration Management teamServiceNow Administrators Problem Overview The supportability and security of impacted Configuration Items is at risk when the Model information is unknown. Hardware Configuration Items should have a Model ID which references a record in the Hardware Model table. The Hardware Model helps to tie the CI to its corresponding Asset. The Hardware Asset record tracks the Cost, Purchase Price, Vendor, Extended Warranty Contracts and other procurement records. This model reference also tracks Manufacturer, warranty length, technical specifications and compatible alternative models in the event a device should require replacement. Manufacturers release Security patches based on Model, this could result in your organization failing to implement them in a effective and timely manner. Executive Summary How this playbook can help you achieve your business goals Completing the Config Item records with Model information which is used in various applications throughout the platform How this playbook is structured This playbook guides you through three plays. The first play (an analysis play) lets you see how many hardware Config Items you have in the CMDB where model_id is emptyThe second play (a fix play) describes how to update these records, creating new Hardware Product Models where neededThe third play (a governance play) explains a way to keep others from creating Config Items without Model Id references. Problem Analysis Upstream Causes Hardware Config Items might have been created in the following circumstances: Manual entry of incomplete records Integrations to the CMDB creating incomplete records Discovery problem related to missing SNMP OID values Downstream Consequences Data Consequence Configuration Items lacking a Model Reference will not create or link to a matching Hardware Asset record, leading to missing dataThe list of Configuration Items on the Hardware Product Model form view will not be accurateAsset Management financial audits will be inaccurate since the cost information is usually linked to the Model referenceKnowledge Base articles with useful information regarding specific models of hardware will be unlikely to find the persons interested in them when they don't know the ModelSerial Number validation based on well-known patterns for specific Makes & Models will not be effective Operation Consequence Configuration Items missing a Model will not be counted in Asset processes such as Hardware Retirement, Renewal or RecoveryIncident Routing can take longer since the Manufacturer and Support Group may not be automatically populatedUsers seeking self-help will not be able to have their search results automatically filtered based on their workstation ModelWarranty Support options for workstations / servers may be overlooked by Service Desk staff because that information is also tracked on a per-model basis Application Consequence Asset Management will lack accurate records with links to Configuration Items without properly configured Model ID referencesVulnerability Response will not be able to show important vendor notices or required patches might be missed due to missing ModelsIncident Management will lack the ability to look up useful information on behalf of the person calling the SD (or live chat) based on the Model of their Assigned workstationTechnology Portfolio Management will not be able to accurately reflect product model risks for the lifecycle of hardware which is missing model values Impact on Your Business Lower MTTR Knowing model specific information will help resolve incidents more quickly based on documented known issues collected either internally or published by the manufacturer Incident Reduction Knowing that a hardware device is nearing the manufacturers declared end of support will facilitate refreshing or replacing hardware before failure can occur Knowing the specific model of a device can facilitate patching to avoid vulnerabilities and known issues before they can impact your business Calls to the Service Desk can be deflected using self-help articles within the Service Portal when we know the exact model of each device assigned to them. Increase Operational Visibility When we track the Hardware Asset through its lifecycle, we can be assured that proper purchasing guidelines were followed to procure such devicesTechnology Portfolio Management will allow you forecast future operational costs for replacement of devices when you know the cost and technical specifications of all devices Audit/Compliance The list of hardware devices on the Hardware Product Model form will be missing devices lacking their reference will not appear which contributes to shadow IT and tech debt as these devices continue to age Process Automation When patches are released by the Manufacturer, if we know the specific model we can apply those patches in a timely manor Better User Experience Members of your organization using aging hardware deserve to have that hardware refreshed on a regular basis to ensure they are equipped with reliable tools to perform their role Engagement Questions Consider the answers to these questions: How are records being created in the CDMB?Which of these ways to create a CI is allowing records without a Model Id? Remediation Plays Summary The table below lists and summarizes each of the remediation plays in the playbook. Details are included later. Play Analysis What this play is about We will run a script to illuminate just where the problem records are located. Required tasks Review the script output for greater insight. Continue on to resolve these issues in the next play. Fix What this play is about A simple walk through on how to select a model or create one if necessary. Required tasks Update records manually to make sure they are complete. Data Governance What this play is about Describes how to set Required or Recommended fields on CI classes. Required tasks Choose and complete one or more of the described methods. Analysis Play What this play is about This play helps you find where the records are within the CMDB where 'model_id' is empty. Required tasks Option 1: Install CMDB and CSDM Data Foundations Dashboard from the ServiceNow App StoreNavigate to the CMDB Data Foundations Dashboard module in the left navigation menuSelect the Data Management Practices tabSelect the Managed CIs Missing Model Entries report. If you see a count of zero then this playbook is not applicable to you. Option 2: Import and run the Fix Script: "HSD0003724 - Query Analysis Script" from Analysis Play Fix Script to locate and display CI records where the Model Id is missingReview the output. Example: In this example, take note of the following classes where records exist where the field 'model_id' is empty. Since the CDMB classes are a hierarchy, the total count of 2596 next to Hardware includes all of the subclasses below it. CMDB Class Table Name Count of records missing model_id Hardware cmdb_ci_hardware 2596 ß total Network Gear cmdb_ci_netgear 62 IP Switch cmdb_ci_ip_switch 22 IP Router cmdb_ci_ip_router 20 Computer cmdb_ci_computer 2498 Server cmdb_ci_server 16 Printer cmdb_ci_printer 18 UPS cmdb_ci_ups 18 Leave the results of the Analysis Play script open, or copy it into a note application so you can refer back these results in the Fix Play. Fix Play What this play is about This play walks you through using List or Form View to update records to include a Hardware Model in the model_id field. Note: To choose the correct Product Model for these records, you may need to do some research, or possibly divide the list up and have persons within your organization perform research and report back about them. In this example we will choose a commonly used Model, but it may require some detective work to make those selections in the real world. Reviewing the results above, which we have saved for reference during this play, we can see the CMDB Classes and their corresponding table names. Using this information, we can navigate to the records requiring attention.If you have not completed the analysis play, please do so now, unless you already know the table name you wish to navigate to. Selecting a class from the list above, type the table name exactly as it appears in the script output, into the Navigation Filter, followed by ".list". For example, the full list of hardware config items would be the cmdb_ci_hardware table, so we would enter the following into the navigation menu filter: 'cmdb_ci_hardware.list' (without quotes).As soon as the .list is entered from the keyboard, the system will pop-up a notice to "Press enter…" to goto that class list. Press enter.Example: After pressing enter, the selected CMDB class will be shown in List View. We want to filter down to just the records where Model ID is empty.Click on the Filter Icon to add a condition to our list: Field Operator Model ID is empty Click Run to re-load the list with our new condition. Your list should look like this:Example: At this point, you might be faced with a very large list. It may be that you need to filter the list down to each CMDB Class and generate a URL to send that list to another person who has the time or access to get the model information for them. If that is the case, you can add another condition as follows: Field Operator Value Class is Computer Click Run to re-load the list, and then right-click the far right corner of the condition breadcrumbs, and select Copy URL. You may then paste that URL or link into an email to have research conducted. Once we know the correct Model information, open any of the records to get to the Form view.Example:Notice that Model ID field is empty, which we are intending to fix. Also notice that the Asset field is disabled. This is because the Model ID controls the linkage to a Hardware Asset record. When we assign a Hardware Model to this Config Item, an Asset should in most cases be created for us.For the purpose of our example, we will assume that research has determined that this computer is an OptiPlex 469 manufactured by Dell Inc. Click the magnifying glass next to the empty Model ID field.Search the Display name field with the value '*optiplex' to locate a Product Model containing that value. There might be multiple models with the same Display Value, with different Model number values. Your research might require you to look-up the specific Model number or even Serial number from the actual device to figure this out.Note: Tools like Discovery or SCCM are also good at determining these values remotely. If these records are created by Discovery or SCCM, you may need to troubleshoot either of those – which is outside of the scope of this document.Example:Select the Product model that matches what you know about the device by clicking on the value in the left most column, which in this example is the Model category value.Click Update (or Save) at the top of the Form view. Notice when the form loads again, that an Asset record is created. This is because the Model controls the Asset tracking strategy. More information on that is available in the docs under Hardware model fields.Repeat this process until all records are updated with a Model ID. Alternatively use List editing to update multiple records to the same Model ID record, where applicable. Data Governance Play What this play is about This play allows the CMDB owner to enforce that the Model ID value is a Required (Mandatory) or Recommended field, which makes it possible to track within the CDMB Health dashboard as a Completeness metric. Required tasks (Optional) To set the Model ID field as Required, (also known as Mandatory) follow the instructions here. Bear in mind that any existing records where the model_id field is empty will require that a value be selected before any other updates can be made to them within Form view. It may be a good idea to start with setting it as recommended. The next step shows how to do that.(Optional) To set the Model ID as a Recommended field, follow the documented steps here.Double-check that the CMDB Health Dashboard jobs are enabled. They are not enabled by default so that you can schedule them to run during an appropriate time for your organization.Navigate to Configuration > CMDB Dashboard > CMDB View to see the CMDB Health Dashboard.Scroll down to the CMDB Completeness Scorecard to see metrics related to the Recommended vs Required field data of your Configuration Items.Example: Click on the percentage (here it's 99%) to "drill in" on the CMDB Completeness Dashboard. Here you can see reports and trends for either required or recommended fields within your CMDB.Example: Congratulations You have completed this Get Well Playbook.