Thank you for your feedback.
Form temporarily unavailable. Please try again or contact docfeedback@servicenow.com to submit your comments.

Discovery patterns used by Service Mapping and Discovery

Log in to subscribe to topics and get notified when content changes.

Discovery patterns used by Service Mapping and Discovery

Service Mapping and Discovery use patterns in their discovery process. The base system contains a wide range of patterns that cover most industry standard network devices and applications. On top of hosts and applications supported by default, you can discover additional hosts and applications by deploying patterns available on Store. You can customize these patterns and create new ones.

ServiceNow applications refer to devices and applications that comprise an application service as configuration items (CIs).

What discovery patterns are

A pattern is a sequence of steps whose purpose is to detect attributes of a CI and its outbound connections. Patterns can be of infrastructure or application type. Infrastructure patterns are used only by Discovery for creating lists of devices. Application patterns serve both Service Mapping and Discovery that use the same application patterns for their purposes. For example, Discovery runs the horizontal discovery with the Apache Web Server pattern to find and list all Apache Web Servers in your organization. Service Mapping runs the top-down discovery using the same pattern to discover a specific Apache Web Server and place it on an application service map.

Table 1. Pattern usage by Service Mapping and Discovery
Product Pattern type Result
Discovery Infrastructure pattern Inventory list of devices
Application pattern Inventory list of applications
Service Mapping Application pattern Application service map

For discovering devices that act as hosts for applications, Service Mapping relies on Discovery. As part of the top-down discovery process, Service Mapping triggers Discovery to perform its horizontal discovery behind the scenes. Service Mapping then uses information on hosts provided by the horizontal discovery to create its application service maps.

Patterns of all types are stored in the Discovery Patterns [sa_pattern] table.

Discovery uses a combination of probes and patterns. For more information, see Horizontal discovery process flow with probes and sensors.

Correlation between pattern and CI type

Patterns are assigned to the CI types that they serve to discover. If necessary, you may assign more than one CI type per pattern. In that case, you define one main CI type and multiple related CI types. For example, a pattern for discovering BIG-IP Global Traffic Manager (GTM) F5 has BIG-IP Global Traffic Manager (GTM) F5 as its main CI type and related CI types for the DNS name, network adapter and other components.

For top-down discovery performed by Service Mapping, each application pattern serves to discover only the main CI type.

During top-down discovery, a pattern discovers only the main CI type.
At the same time, Service Mapping usually uses more than one pattern to discover the same CI type, since a CI type can use different protocols, operating systems, entry points, and so on.
Unlike top-down discovery, the process of horizontal discovery uses each pattern to discover a main CI type with all related CI types.

During horizontal discovery, a pattern discovers the main CI type and all related CI types.

Why install patterns from the ServiceNow Store

ServiceNow releases new discovery patterns on the ServiceNow Store on a monthly basis to ensure that your organization can discover the latest industry-standard devices and applications. Major ServiceNow versions incorporate patterns previously released on the ServiceNow Store.

Why customize patterns

You can customize patterns in the following cases:
  • If your organization uses proprietary devices and applications, create patterns for these items to enable Discovery and Service Mapping to discover them.
  • If you modify key attributes of CI types that had corresponding patterns, modify the relevant patterns to reflect the change.

Pattern versions

When you customize a pattern, you actually create a copy of the original pre-configured pattern. While Service Mapping or Discovery use the customized version, the original version is not deleted. When you upgrade your Now Platform, it updates the original pattern, not the customized copy of it.


A customized copy of a pattern is not updated.

If at some point you want to abandon the customized pattern and start using the updated original pattern, you can revert to the original pattern as described in Choose the pattern version.

Who can customize patterns

Users must have the pd_admin role to customize patterns. In the base system, the sm_admin role contains the pd_role. Customizing patterns requires basic knowledge of programming.

Patterns for instances using domain separation

In instances that use domain separation, patterns may be domain-specific, covering only domains that you created them for, or global, applying to all domains.

Patterns belong to domains. By default, all preconfigured patterns are assigned to the global domain and apply to all domains of all levels.

You can create patterns for specific domains. In that case, the new pattern is used only for this domain and does not exist in any other domains. If you customize an existing pattern in the global domain and assign it to a specific domain, you create a copy of the global pattern, which is still used for all other domains except the domain that has the customized version of this pattern. Likewise, if you customize the pattern belonging to the global domain, the change effects all domains except the one that uses a customized copy of this pattern.

Patterns may be domain-specific or global.

Pattern creation or modification flow

Typically, you maintain two ServiceNow instances in your organization: for production and for development. Create or modify patterns, test them, and verify results in the development instance. When you are satisfied with the discovery results, export relevant patterns from the development instance to create an update set. Then you retrieve and commit the update set in your production instance.

If you are creating a pattern for applications and devices that are not supported in the base system, start from creating CI types for them.


Flow describing pattern creation and modification
Feedback