How the software discovery mechanism works for SAM?

Priya Bonam
Tera Expert

As part of discovery , we manually run or schedule the discovery to discover the CI's on network and updates into CMDB. Here my question is how software discovery runs to find the software installs and updates in respective table. Is there any way to run it manually? or where i can see the phases such as scanning, classifying , identifying and exploring? Please help me to understand the actual mechanism of software discovery for SAM.

6 REPLIES 6

Community Alums
Not applicable

Hi @Priya Bonam ,

Software discovery models are automatically created during discovery to identify and normalize the software installed in your environment.

Software discovery models are stored in the Software Discovery Model [cmdb_sam_sw_discovery_model] table. The normalization process is automatically run when a new discovery model is created. Discovery models are not created for software installations that have a name containing Security Update.

There is a difference between software models and software discovery models.
  • A software model is a specific version or configuration of software that is purchased and/or available to users.
  • A software discovery model is a model created when a version of software is discovered in a network environment.
Multiple software discovery models can be associated to one software model. For example, a software model can be defined as follows:
  • Publisher = X
  • Product = Y
  • Version = Starts with 10

If there are two separate installs of this product (version 10.1 and version 10.2), two discovery models are created. One of the discovery models has the discovered version set to 10.1, and the other discovery model has the discovered version set to 10.2. The reconciliation process associates both of these discovery models to the same software model since they both meet the version criterion of Starts with 10.

Discovery Models

Software discovery models cannot be created manually. The following field combination, called the primary key, is used to match new software installations to a new or existing software discovery model.

Primary key: PublisherDisplay Name, and Version
Note: When analyzing version numbers, an exact match is always searched for first, but rounds down to a major version number when an exact match is not found.

For example, if no match is found for version number 8.0.4, but version 8.0 is found, then version 8.0 is used in the Software model field.

Note: If normalized field values differ from the values in the package or pattern, a caution icon is indicated next to the Normalization status field indicating that a normalization suggestion record has been created. Clicking the caution icon opens the Normalization Suggestion record for that discovery model.

The differing values can be set by the user, or by accepting the normalization suggestion changes. Once a new value is set, the normalization status changes form Normalized to Manually Normalized.

Under specific conditions, certain fields that are typically read-only can be edited. If edited, the status changes to Manually Normalized.

Revert normalization

You can revert normalization if you want to.

Discovery models with a status of NormalizedPartially Normalized, orPublisher Normalized revert to the status of Match Not Found. Fields are reset to their original values, and any rules associated with the software discovery model are deactivated.

Software Installations

The Software Installations list contains the software installed in your organization and is populated by discovery.

Installed software is placed in the Software Installation [cmdb_sam_sw_install] table by Discovery, and a primary key is built (using PublisherDisplay Name, and Version fields).

Discovery automatically matches the discovered software installation with a new or existing software discovery model using the primary key.

Mark my answer correct & Helpful, if Applicable.

Thanks,

Sandeep

Priya Bonam
Tera Expert

Thanks for the details shared. But still my doubt is not cleared. Can you please give the snapshot from the instance where we can run the discovery manually to find out the software's in the devices on network and how we achieve this automatically ? 

Rahul Priyadars
Giga Sage
Giga Sage

when Horizontal discovery is ran these libraries are used to called by Pattern and populate Installed softwares.

find_real_file.png

 

also same can be controlled from Discovery - Configuration Console too

find_real_file.png

Hope this helps too

https://support.servicenow.com/kb?id=kb_article_view&sysparm_article=KB0696096

Regards

RP

Very helpful KB on Same topic- 

This article explains how data is populated into cmdb_sam_sw_install table.

When SAM is installed and when it runs, Discovery populates the Software Installation [cmdb_sam_sw_install] table.

 

https://support.servicenow.com/kb?id=kb_article_view&sysparm_article=KB0854415

Hope this helps

Regards

RP