Beruflich Dokumente
Kultur Dokumente
Mapping
Fundamentals
participant guide
Service Mapping Fundamentals
© 2019 ServiceNow, Inc. All Rights Reserved
© COPYRIGHT 2019 SERVICENOW, INC. ALL RIGHTS RESERVED.
ServiceNow provides this document and the information therein “as is” and ServiceNow
assumes no responsibility for any inaccuracies. ServiceNow hereby disclaims all
warranties, whether written or oral, express or implied by law or otherwise, including
without limitation, any warranties of merchantability, accuracy, title, non-infringement
or fitness for any particular purpose.
In no event will ServiceNow be liable for lost profits (whether direct or indirect), for
incidental, consequential, punitive, special or exemplary damages (including damage to
business, reputation or goodwill), or indirect damages of any type however caused even
if ServiceNow has been advised of such damages in advance or if such damages were
foreseeable.
TRADEMARKS
ServiceNow and the ServiceNow logo are registered trademarks of ServiceNow, Inc. in
the United States and certain other jurisdictions. ServiceNow also uses numerous other
trademarks to identify its goods and services worldwide. All other marks used herein
are the trademarks of their respective owners and no ownership in such marks is
claimed by ServiceNow.
This underpinning Electrical service rolls up and supports the larger home service. It would make
sense if you wanted to map the home service, to actually map the most important underpinning
services first and then create dependencies to them from the home service.
Service Mapping has the capability to connect to an existing service from a service making it
possible to create relationships between services.
You can display service maps created by Service Mapping on the Event Management dashboard.
With Event Management, you can view alerts on critical CIs in order to take actions to remediate
issues on your organization's services.
Service Mapping, ServiceNow’s service discovery and mapping solution, ensures that everything is
being done in a service centric context. When issues arise, Event Management can detect
abnormalities and pinpoint the impacted service by leveraging the CMDB.
IT can increase agility and lower costs by consolidating legacy tools into a modern, easy-to-use
service management solution in the cloud.
Similarly, when a particular IT component fails or experiences performance issues, there is no easy
way to know which services, if any, are affected by the problem. Without this knowledge, it is
impossible to determine which are the most important problems to address first. For instance, an
infrastructure incident that has taken down an airline booking system that delivers millions of
dollars of revenue each hour is more important than fixing one that affects office supply orders, but
without a map, you cannot identify which is which.
The same applies to changes to IT infrastructure, where the growth of virtualization and cloud
causes regular changes. Unless IT components can be mapped to these services, changes are
unacceptably risky. To manually apply this information before you make a change is an incredibly
time-consuming process, which means your IT organization has to sacrifice agility or accept
heightened risk.
Lab Objectives
Cloud Dimensions just purchased Service Mapping and wants to become familiar with the
Service Mapping application and identify key modules and configuration areas.
• Open any browser and enter the URL for the ServiceNow training instance provided by
your instructor or obtained from the reservation URL at the start of class.
• Log in using the username and password provided.
Note: After the initial discovery, the Discovery Dashboard will light up with valuable data
around discovered devices, applications, errors, schedules, and unused credentials.
Note: A message appears that Service Mapping is not ready for discovery. The Home page is
the starting point for all Service Mapping discoveries and allows a Service Mapping
administrator to access Service Mapping workflow tasks. This page also displays important
progress statistics. For example, view the number of services discovered with errors, waiting to
be approved, and completed.
3. From the bottom of the Home page, click the Additional Options link to view the
options available.
6. From the top right, click Map Status to bring up the Service Mapping Dashboard.
Note: The dashboard provides an up-to-date overview of the status of all service maps in an
organization, progress on error (tasks that are associated with mapping errors, counts of error
tasks, and other tasks associated with services.
Discovery Patterns
Discovery Patterns attempt to identify applications and their outbound connections
supporting the Business Service. Application CI data and their attributes captured from the
patterns are associated to the CI in the CMDB.
Note: Favorites are easily accessible from the left navigator under the Favorites icon.
4. From the Discovery Patterns list, search for and open the Apache on Windows
record
Note: A new tab opens and displays the pattern. A pattern is responsible for identifying a
specific CI Type/class. This CI Type corresponds to a table extended from the Application
Configuration Item [cmdb_ci_appl] table in the CMDB.
Note: In future modules in this class, you work more in depth with modifying and building your
own Pattern, Identification, and Connection Sections.
5. Click and open the first record under the Identification Section.
Note: The Pattern Designer opens and displays all the steps that comprise the Identification
Section. You will work with Identification Sections more in detail later in the class.
6. Click the browser back button to return to the Apache On Windows pattern.
Discovery Credentials
Credentials must be defined before a device can be successfully discovered. Without proper
credentials, the discovery process cannot complete.
1. Close the Apache On Windows pattern browser tab, and navigate to Service Mapping
> Administration > Credentials.
Note: Discovery and Service Mapping use credentials that are stored in the same table and can
be shared between both applications. Credentials are used to access target devices in order to
query them for specific attributes.
Note: You will be creating several credentials later in class to discover the numerous CIs in the
training environment that support various Business Services.
MID Servers subscribe to messages published by an Asynchronous Message Bus (AMB) on the
ServiceNow instance, which notifies the MID Server that it has pending tasks in the ECC queue.
The tasks are in the form of a Probe or Pattern. MID Servers use the credentials defined in the
Credentials table to access devices to perform their work. In the next lab, you will set up a MID
Server.
Note: Discovery Schedules under the Discovery menu define how often infrastructure
configuration items such as servers, routers, and switches are discovered.
Note: Quick Discovery is used to discover a single target IP address. This discovery method is
useful for testing discovery against a specific CI without having to build a schedule. It is
important to note that the underlying discovery process is the same between Quick Discovery
and a complete discovery schedule. The main difference is Quick Discovery is a faster method to
configure discovery of a single device while creating a discovery schedule can be useful for
rediscovery on a scheduled basis.
Note: Discovery Schedules under the Service Mapping menu define when and how often Service
Mapping discovery, also known as top-down discovery, will execute on a scheduled basis.
Service Mapping schedules define how often an application or set of applications are discovered
that pertain to a service.
Note: This baseline schedule defines the CI Type discovered by the schedule, the frequency of
the schedule, and the MID Server to use. The Discover field is read only and does not allow the
user to modify the type of discovery to perform. All other types of Discovery have to be
performed under the Discovery > Discovery Schedules menu.
Based on the navigation skills learned, answer the following questions. Refer to the end of
the lab to check your answers.
1. How many identification sections are configured for the Microsoft SharePoint
pattern?
2. In the IIS discovery pattern, what IIS versions are listed in the identification section?
1. One
4. 18
Most IT infrastructure discovery tools perform “horizontal discovery.” This means that they discover
individual technology domains, not end-to-end service flows. They discover all the servers,
databases, storage, and so on, but each domain is disconnected. They may discover direct
connections between individual IT components, as shown in the diagram, but they do not take a
vertical slice through the entire IT infrastructure to show how a service is delivered. Because of this,
they do not answer the fundamental questions: How do individual IT components issues and
changes affect specific services? And how do you isolate the root cause of service problems?
It can take weeks to sift through horizontal discovery data to find out how a single service is
delivered end-to-end. The process is not just a mechanical one; traditional discovery data is
insufficient to map service flows. IT staff have to sit down with multiple stakeholders, gather tribal
knowledge, and then construct the service map. This often requires multiple iterations to generate
an accurate map, and the process has to be repeated every time there is an infrastructure change. It
is not unusual for an enterprise to have 100 or 200 services that need to be mapped, thus the effort
required is overwhelming.
Valid use-cases include inventory, software licensing, CMDB population, desired state validation by
providing actual state data, and CI relationship mapping to support incident, problem, and change.
• MID Server: allows the Service Mapping application access to the target CIs within a company
network
• Discovery: responsible in discovering host CIs such as servers, routers, and switches that
comprise a service
• Discovery Patterns: identifies applications and connections related specifically to a service
• Identification and Reconciliation: acts a centralized and configurable method to determine inserts
and updates to the CMDB including the host and application CIs that comprise a service
Service Mapping uses special server processes, called MID Servers installed on each enterprise
network that has computers and applications that will be discovered and mapped.
Each MID Server is a lightweight Java process that can run on a Linux, Unix, or Windows server. A
dedicated server is not required as the MID server's resource consumption is very low and is
controllable. The MID Server's job during Service Mapping is simply to execute work (probes) and
return the results back to the ServiceNow instance for processing (with sensors); it does not retain
any information. In effect, a MID Server is a remote extension of the ServiceNow instance on an
enterprise network.
MID Servers can have IP Ranges associated to them to prevent them from being assigned work for
targets that they cannot reach.
Note, for performance improvement, a MID Server can be added to both a load balancing cluster
and a fail-over cluster. MID Server clusters are available for Discovery, Service Mapping, Event
Management, Orchestration, and used with products integrating with ServiceNow.
• Horizontal discovery
• Top Down Service Mapping
• 3rd party sources such as home grown or other vendor discovery application
2. More easily discover, map, and monitor services. Make IT more Service-Aware.
3. ServiceNow instance, MID Server, Access to Targets, Port 443 access between MID Server and
ServiceNow instance.
The MID Server's job during discovery is simply to execute work (probes) and return the results back
to the ServiceNow instance for processing (sensors); it does not retain any information. In effect, a
MID Server is a remote extension of the ServiceNow instance, on an enterprise network.
§ Import Sets
§ Altiris
§ Microsoft SMS / SCCM
§ LANDesk Maintenance
§ Avocent LANDesk
§ HP OpenView Operations
§ Microsoft System Center Operations Manager (SCOM)
§ Borland StarTeam Integration
§ Microsoft MIIS
§ Service Assurance
*If installed on a 64-bit Linux systems, the 32-bit GNU C library (glibc) must be installed. MID Servers
installed on Linux are limited to discovering only UNIX based systems, vCenter, SNMP, and CIM
devices with no Windows discovery.
**It is recommended to install MID Servers on Windows based operating systems to allow them to
discover both UNIX and Windows targets.
*** For more information on the system requirements, search for “MID Server System
Requirements” on the Docs site.
NOTE: The MID server is regularly installed and tested on Windows Server (2012, 2008 & 2016) and
Linux (Red Hat 6, Ubuntu 12, CentOS 6).
Local System is the default account used by Windows Services. It has a lot of capabilities, but only
on the system it runs on. To be able to access other systems on the network, the account used
should be a domain account or an account that is the same on other systems and can use “pass
through authentication.”
This version supports both 32 bit and 64 bit MID Servers. For the best performance, install the 64 bit
MID Server for your operating system and that ServiceNow will discontinue support for 32 bit MID
Servers in a future release.
Upgraded MID Servers might use different Java versions depending on their release level. MID
Servers upgraded from Kingston and earlier use the OpenJDK provided with the MID Server installer.
MID Servers upgraded from London continue to use the same JRE you configured for London. The
MID Server supports JRE 1.8.
Allow ALL capabilities: Allow all capabilities to be used for all ITOM applications.
Note: Service Mapping and Service Analytics, which used capabilities in previous releases, rely on
the application for MID Server selection starting with the Istanbul release.
Allow ALL IP ranges: Make all IP ranges valid for this MID Server, meaning that it can target any IP
address.
Lab Objectives
Cloud Dimensions has decided to implement ServiceNow Service Mapping. As part of the
readiness phase, it is necessary to install and configure a MID Server in their environment.
Requirements Summary
Note: If you cannot complete the chart above, please ask your instructor for assistance.
1. Logged into your ServiceNow instance as the System Administrator, navigate to User
Administration > Users.
2. Click New.
3. In the User ID, First name, Last name, and Password fields, enter midserver.
5. From the midserver user record, under the Roles related list, click Edit and add the
mid_server role by double clicking on it to the Roles List as shown.
6. Click Save.
7. Click Update.
Note: Numerous SOAP roles are added via inheritance. The MID Server user account will be
used later when configuring the MID Server on your Windows Server.
1. Create a remote desktop connection to your Windows Server on Amazon EC2 using
the public IP or FQDN listed previously.
2. Log in to your Windows Server using the administrative credentials listed earlier.
Note: MID Server installation files have been previously downloaded and extracted to this
folder location..
5. Click Run.
Note: The ServiceNow MID Server Installer window may take a short while to display.
7. After completing the form, click Test your connection and verify you receive a
message, Connection tested successfully.
Note: The wrapper name and display name are populated automatically.
2. Locate and double-click on the ServiceNow MID Server service to open the
properties window.
3. Under the Log On tab, select the This account radio button and configure the
account and password with the Windows user information you used to RDP to the
Windows server.
Note: If you receive an error when restarting the MID Server, start the MID Server again and
the error should resolve.
1. Wait 30 seconds to give the MID Server time to restart, then from the Windows
Server, navigate to C:\MID Server\agent\logs.
Note: When the MID Server is started, the MID Server process locks the log file from being
opened. You are making a copy of the log file in order to view its contents without the need to
stop the MID Server service. In addition, during training, it is recommended to open all Windows
files using WordPad versus Notepad, as some files may appear corrupted otherwise.
4. Search for last log message containing AMB, and verify it states, Subscribed to AMB.
Note: If you see the message, Subscribed to AMB, move to the next section of this lab.
Otherwise complete the remaining steps in this section of the lab.
5. From your ServiceNow instance, navigate to the MID Server user account you
created earlier.
6. Open the record and verify Web service access only is not checked.
7. If Web service access is checked, uncheck it, restart the MID Server service, and
repeat the first 4 steps of this section to verify that your MID Server is subscribed to
AMB.
8. To restart your Windows Server, navigate to Start > Administrative Tools > Services.
Note: If the MID Server is not subscribed to AMB, discovery will still work, however it will take
substantially longer.
5. From the Set Initial Selection Criteria dialog window, click Save.
6. After a few seconds, from the MID Server list, verify your MID Server displays with a
Status of Up and Validated is Yes.
Note: The validation process can take up to a minute to complete in some cases.
Note: The MID Server dashboard is a central place for MID Server users to monitor ongoing
operations. The dashboard consists of reports and gauges that display information from the
MID Server Status table.
ServiceNow offers an Automated Test Framework that is used in this class to check if records
were correctly created during each lab. Run these tests if you would like to check completion
of each lab.
2. Verify the first property to enable the test/test suite execution on your instance is
checked, if not, check the box and click Save.
8. Read the Description to see the why the failure happened. There should be mention
of at least one record that does not meet a query condition. Based on the condition,
you should be able to isolate where the problem occurred.
Note: If needed, there is also an option to deactivate a problematic step to verify the remaining
steps complete successfully.
Note: If the Run Test window displays a message of Succeeded 100%, you passed the test and
your lab work has been validated. Nice work.
Note: There may be situations where you successfully completed the lab and the test script fails
due to different naming conventions between what you entered and what was written in the
book. It is recommended to complete the labs using the same naming conventions to avoid this
situation.
As a reminder, this is an optional lab validation. If you are satisfied with your
work on a lab, you DO NOT have to work through the errors, if any occur, when
running this lab validation to be 100% successful.
The MID Server itself is a good candidate to target for the initial discovery since connectivity and
credentials have already been validated during the MID Server installation and configuration. The
credentials that will be used for this initial discovery will be the local or domain user account
defined when setting up the MID Server originally.
Creating an initial basic schedule is simple; only a few fields need to be configured. Common fields
are Name, Discover, MID Server, and Discovery IP Ranges. After the Discovery Schedule is
configured, the UI Action titled Discover now will launch discovery leveraging the MID Server
defined and the target IP addresses listed.
Step 2a – if any of the first three phases of discovery fail, no host CI will be created.
Step 2b – If all the classification phase completes successfully, the host CI will be identified and
explored and eventually the host CI will be created or updated in the ServiceNow CMDB depending
on identification and reconciliation rules.
Step 3 – Identification and exploration of an application occurs after identification and exploration
of a device. Determination if an application CI is created or updated will depend on identification
and reconciliation rules.
NOTE: Under the ECC Queue tab of the Discovery Status, the phases and messages being passed
between the instance and the MID Server can be viewed. Clicking the Created date and time will
open another form where the XML payload can be viewed of either the output or input message.
Based on the TCP connections discovered for different applications, Discovery will create the
application to application dependencies automatically.
2. The default polling interval is set to 40 seconds, but can be reconfigured. The MID Server
subscribes to messages published by the Asynchronous Message Bus (AMB) Client, which
notifies the MID Server that it has pending tasks in the ECC queue. The MID Server polls the ECC
queue on the interval defined in the mid.poll.time configuration parameter (default is 40
seconds), regardless of AMB message activity. This polling of the ECC queue at a regular interval
is done in case the AMB connection is dropped.
4. Using Process Classifiers. Within a process classifier, Discovery can use patterns, rather than
probes, to identify applications. Discovery triggers patterns from the Horizontal Discovery probe,
which can be specified on the process classifier record.
Lab Objectives
Cloud Dimensions has a MID Server installed and configured and wants to understand the
basic concepts around running horizontal discovery, viewing the discovery status, execution
times, and seeing discovered CIs within their CMDB, along with all the attributes collected.
Requirements Summary
2. Search for the role, discovery_admin, and read the description of this role.
Note: From a security perspective, an individual can be granted this role if they need access to
the "Discovery" and "Discovery Definition" applications to configure, monitor, and run Discovery
operations without granting full ServiceNow admin capabilities.
Note: You may want to create a favorite to the Discovery Schedules module for easy access in
the future.
Note: Replace PrivateIP with the Private IP Address of your Windows Server. It starts with
198.51… If you did not write down the IP Address earlier, you can RDP to your Windows server,
open a command prompt, and type in ipconfig to obtain it.
6. Click OK to start the discovery process of your Windows Server and to display the
Discovery Status list.
8. Under Related Links, click Refresh until the State displays Completed.
2. Under the ECC Queue related list, sort the Created date in ascending order, and
view the various probe records to view the linear deployment of probes retrieved by
the MID Server (outputs) and XML Payloads returned from the MID Server (inputs).
2. Hover over the Shazzam bar to view details for the Shazzam probe.
Note: Communication times between the MID Server and the ECC Queue record are provided.
2. Under the CMDB CI column, click the link to the discovered device.
Note: You are automatically navigated to the Configuration Item (CI) record in the CMDB.
3. Right-click the form header and select Configure > Form Layout.
4. Add the Discovery source to the Selected pane under the Assigned to field.
5. Click Save.
Note: The discovery source that created or updated the record is listed. In this example,
ServiceNow is listed as the discovery source.
6. Under Related Links, click Show Discovery events to view a summary of when the CI
was created.
7. Click the browser back button to return to the Windows Server form.
Note: This option, available to administrators, displays all data in XML format associated with
the record. The information can be useful if you want to look up a value of a field quickly even if
it is not displayed on the form.
E. Create Credential
1. Navigate to Discovery > Credentials.
2. Click New.
5. Click Submit.
• Ask a student for his or her private IP address which starts with 198.51..
• Using the Quick Discovery option, discover the Windows Server of one of the other
students in the class using the private IP address of their Windows Server. Do not use
their public IP.
• After discovery completes, locate the newly discovered server by navigating to
Configuration > Servers > Windows.
ServiceNow offers an Automated Test Framework that is used in this class to check if records
were created correctly and you met the desired outcome during the lab. Run these tests if
you would like to validate completion of the lab.
Note: If the Run Test windows displays a message of Succeeded 100%, you passed the test and
your lab work has been validated. Nice work!
There may be situations where you successfully completed the lab and the test script fails
due to different naming conventions between what you entered and what was written in the
book. It is recommended to complete the labs using the same naming conventions to avoid
these scenarios.
Lab Objectives
From the Dependency View map, Cloud Dimensions wants to visually display servers that are
running the IIS Server and Apache Web Server applications.
2. Search and open the record that represents your Windows MID Server.
Note: You should have noted the name of your server in the previous exercise. The name should
start with ip.
3. Next to Related items, click the Show dependency views icon to display the
Dependency View map.
Note: ServiceNow Discovery identifies applications based on Process Classifiers, as you will see
later in this exercise. Notice a list of tracked files are also collected which can be configured in
the Discovery Pattern. You will learn how to configure tracked files in a later lab.
5. Close the Dependency View map and navigate to Discovery Definition > CI
Classification > Processes.
Note: A list of the baseline Process classifiers display that are used by ServiceNow Discovery to
identify applications on a host.
6. Search for and open the Microsoft IIS Server process classification record.
Note: Your MID Server has an IIS Web Server installed on it and meets the conditions of the
Process Classification. Therefore, a Runs on::Run relationship was built between the application
and the host. Additionally, the application was added to the Microsoft iis Web Server table as
configured in this record.
7. Under the Triggers probes related list, Pattern column, click and open the IIS
pattern.
Note: This is the pattern used to identify the IIS application. Discovery Patterns are shared
between Discovery and Service Mapping. Discovery Patterns will be covered in more depth later
in the class.
Note: Additional files can be configured that can be collected during discovery.
9. From the Basic tab, under the Identification Section, click on Identification for
HTTP(S) entry point type(s) for IIS7 and above to open the pattern in Pattern
Designer.
Note: Pattern Designer is used to build the steps that are used by the pattern’s identification
section to identify a specific application. The steps in this identification section were used to
identify that IIS was running on your host Windows Server.
Note: From the browser URL, you may need to remove the string of characters after .com to
return to the ServiceNow interface in order to proceed with the next step.
Note: Two records exist for a Microsoft IIS Web Server. One that was found on your server and
the other that was found on the student server that you also discovered.
Note: This is the base table for all applications stored in the ServiceNow CMDB. The two
Microsoft IIS Server application records should also display here. The class for the Microsoft IIS
Server is Microsoft iis Web Server, which is extended from the Application base table.
2. Search for and open the Apache Server process classification record.
Note: The last condition is an “AND” condition for Parameters | does not contain | runservice.
4. From the Test with field, click the lock icon and search for and select your Windows
Server where the name should start with ip.
5. After completing the modification, save the record and verify under the Test results
related list that one record displays representing Apache.
Note: It is good practice to test the process classifier to confirm the conditions set work as
expected.
Using Quick Discovery, discover your MID Server and validate on the Dependency View map
that an Apache Web Server to Windows Server dependency relationship now appears.
QUESTION REVIEW
1. From the Discovery Status record, under the ECC Queue tab, what is the name of the
probe being deployed to identify the Apache Web Server?
2. What is the file path and names of the tracked files collected from the Apache On
Windows pattern?
3. How many applications display on the Discovery Dashboard that were discovered in
the last 7 days?
2.
3. Four (Apache Web Server, IIS Virtual Directory, Microsoft iis Web Server, Web Site)
ServiceNow offers an Automated Test Framework that is used in this class to check if records
were created correctly and you met the desired outcome during the lab. Run these tests if
you would like to validate completion of the lab.
Note: If the Run Test windows displays a message of Succeeded 100%, you passed the test and
your lab work has been validated. Nice work!
There may be situations where you successfully completed the lab and the test script fails
due to different naming conventions between what you entered and what was written in the
book. It is recommended to complete the labs using the same naming conventions to avoid
these scenarios.
Perform the following tasks in the exact order they are listed below:
1. Request the Service Mapping application as described in Activate Service Mapping application.
2. Configure connections with MID Servers. MID Servers, which are located in the enterprise
private network, facilitate communication between servers on the network and
some ServiceNow applications, such as Discovery, Service Analytics, and Service Mapping.
3. Discover load balancers to gain visibility into suggested services to map
4. Configure known credentials required for Service Mapping to access hosts and applications.
5. Grant the following Service Mapping roles to relevant users:
• sm_admin for Service Mapping administrator
• sm_user for Service Mapping user
• sm_app_owner for any service owners
The following plugins are activated automatically when you activate Service Mapping: IP-
based Discovery, Service Modeling, and REST IP Provider. The IP-based Discovery plugin contains
shared components of horizontal discovery used by Service Mapping. Service Mapping customer
also have the right to enable the Discovery plugin in order to have access to the full set of Discovery
menus and modules
To purchase a subscription, contact your ServiceNow account manager. The account manager will
arrange to have the plugin activated on your organization's production and sub-production
instances, generally within a few days.
If you do not have an account manager, decide to delay activation after purchase, or want to
evaluate the product on a sub-production instance without charge, follow these steps:
• Navigate to HI.
• Click Service Catalog.
• Click Request Plugin Activation, and fill out the form.
Typically, it is enough to create credentials for hosts only, but some applications require separate
credentials from credentials of the host on which they run. This type of credential is referred to
in ServiceNow as applicative credentials.
Credentials, such as user names and passwords, or certificates, are required to gain access to a
computer or network device for ServiceNow Discovery. The platform stores these credentials in an
encrypted field on the credentials table that cannot\ be viewed.
It is good practice for ServiceNow professional services or partners not to enter customer
credentials, but rather have customers enter their own credentials.
1. The instance retrieves the encrypted password and the unencrypted username from the
instance database table.
2. The instance decrypts the encrypted password, and then re-encrypts it using the MID server
encryption key.
3. The username and re-encrypted password are sent to the MID Server through the encrypted TLS
session was already established between the MID server and the instance.
4. The MID server receives the credentials and decrypts the password in memory before using the
credentials for remote operations. At no point is the credential password stored on the disk in an
unencrypted format.
Automation credentials are secured by encrypting them in the instance with the MID Server’s
trusted public key prior to transmission. When the MID Server is created, it generates a keypair,
consisting of a public and private key. After the MID Server is validated, it can use the private key to
decrypt automation credentials. You should occasionally rekey the MID Server to meet your
organizations security requirements.
EMC Connectivity
• SSH via open TCP port (configurable, default 22)
Further credentials are required for certain applications and devices, including the following:
• Microsoft SharePoint, SSRS, SSIS, Exchange, NLB and CRM
• IBM WebSphere MQ and Data Power
• Cisco ACE, Citrix XenApp, Oracle RAC, Tibco EMS and F5 Load Balancer
1. Customer adds new host to their network and Service Mapping knows nothing about the new
host credentials.
2. Credential-less discovery creates new host CI in the ServiceNow CMDB (Nmap cannot pick up
host serial number, but can identify OS family)
3. Service Mapping admin adds discovery credentials to ServiceNow for the new host.
4. Horizontal discovery runs successfully and uses credential-based classification.
5. Original host added to CMDB that contained limited data is updated and reconciled with richer
data discovered with credential-based discovery using the IP+MAC identification rule, preventing
duplicate CIs from being created.
For a detailed demo on Credential-less discovery refer to the ServiceNow Service Mapping Delta –
Kingston training:
https://servicenow.sabacloud.com/Saba/Web_spf/NA1PRD0015/common/searchresults/ServiceNo
w+Service+Mapping+Delta+-+Kingston/ALL
Entry points may vary depending on the nature of the service; a TCP port, a URL, a SQL port can all
serve as entry points to a service. Service Mapping comes with a list of preconfigured entry points
types and the attributes configured for the entry points depend on the type.
Entry points can be manually entered one by one, or imported from a CSV allowing for multiple
services to be discovered in parallel. Another option is to run discovery against the management IP
addresses of all load balancers in an enterprise and Service Mapping will automatically provide a list
of service candidates.
Legacy Approach starts the mapping process only after the customer:
1. Gathers data on entry points
2. Obtains credentials
3. Relies mainly on pattern based discovery as opposed to traffic based
4. Addresses errors and issues per map
Recommended Approach:
1. Enables automated discovery of candidate entry points by discovering load balancer and is not
blocked by manual data gathering of entry points
2. Relies on a traffic based discovery when no credentials are available by reducing traffic noise
using machine learning
3. Enables bulk, parallel mapping of many services at the same time
4. Enables cross service error handling to allow for resolving one error that will potentially fix many
common errors across multiple service maps
5. Steps are guided with prioritization, suggestions, tasks assignments, and better visibility of the
overall picture
Lab Objectives
Cloud Dimensions provided the Implementation team with the necessary information for the
Business Services they want discovered and modeled during the implementation.
As a member of the Implementation team, you will ensure you have the necessary
prerequisites to start the Service Mapping implementation including infrastructure for the MID
Servers to be installed, MID Server access to the targets, identification of the most critical
underpinning services, and valid credentials including available resources.
In this exercise, you will define the entry points that will be used for Service Mapping discovery
during the implementation and view potential service candidates.
Note: This exercise can be performed individually or as a group with the instructor.
Note: If the KB does not display, please access the needed files from this link or access them
from another student instance. https://servicenow.box.com/v/m010-kb. Save this link for future
reference.
2. Open the file and view the various services that Cloud Dimensions intends to
discover, model, and monitor.
3. In the Entry Point column, complete the Entry Point information for the first four
services listed in the Excel file and rows 7 and 8.
Note: An Entry Point example consists of a web URL followed by the port used to access the
service (i.e. http://stocktrader.cd.com:8081). You can check your answers at the end of this lab.
4. After completing the prior task, from the Training Support Files KB, locate and
download Bulk Import 1 and Bulk Import 2 and view the various entry points
configured in these files.
Note: No further action is required in this lab, other than completing the Service Descriptions
file and viewing the Bulk Import files. These files will be referenced in later labs as you discover
the entry points defined in the Excel files. Please ask your instructor for assistance if you have
any questions or need assistance.
Services contain a new field called Process Status that contains the following states:
• Data Gathering
• Finished Questionnaire
• In Progress
• In Review
• Rejected
• Approved
You can add missing connections. However, Service Mapping cannot discover and provide dynamic
information about changes and updates to manually added connections.
Remove CIs that do not belong to the service. If unnecessary CIs are included in the map, they can
generate irrelevant alerts in Event Management. For example, when creating a service for a web
portal, Service Mapping may automatically discover a connection to external services, like PayPal,
that do not belong in the service.
Add mapping boundaries to remove the unnecessary CIs. Service Mapping can discover only the CIs
within these boundaries.
The kind of change information gathered and displayed by ServiceNow depends on the Service
Mapping setup.
Every time you add a CI to or remove a CI from a service, a CI is upgraded or updated. Information
about the change is recorded in CMDB and Service Mapping retrieves it to create the change history
view. You may need to see the changes made to a service as part of the maintenance, planning, or
troubleshooting procedures.
There are several ways to view changes in Service Mapping:
• View change records for the entire service.
• View change records for a specific CI inside Service Mapping.
• You can see detailed history of a specific CI separate from its service as described in the Timeline
of CI changes.
• Compare the service before and after changes.
Lab Objectives
Cloud Dimensions is eager to map their first service using Service Mapping. In this lab, you
configure an entry point to a service and view the results and discovery log information.
In the next section, you will define a single service to map and discover the Online Payroll
Service. However before discovering the service, you will view the service from the
perspective of a user of the service to provide visibility to the service you will discover using
Service Mapping.
1. Using the browser from your remote desktop connection of your Windows Server,
navigate to the following address:
http://[PrivateIP]:8080
Note: Replace PrivateIP with the Private IP address of your MID Server where the Apache Web
Server is installed.
Note: Replace PublicIP with the Public IP address of your MID Server.
2. From the Additional Options link, choose Define A Single Service Map.
5. Configure the form as shown replacing Private IP with the Private IP address of your
Windows Server.
• URL: http://[Private IP]:8080
6. Click Add.
Note: The list of entry points is displayed if another entry point needs to be added. At the
bottom of the list is an Other Application tile that provides additional entry point type options if
required.
9. From the top right of the Service Mapping Home form, click Save.
Note: You may need to click the X to close the green status bar if you do not see the Save
button.
10. From the top right of the Service Mapping Home form, click View Map.
Note: The service map displays with the Online Payroll Service being discovered. This process
may take one to two minutes to complete. There is a Run Discovery button that allows for the
manual rediscovery of the service if needed.
11. Verify that after short while your service map displays as shown:
Note: Service Mapping discovered the Online Payroll Service by using the simple configuration
of providing an entry point.
Note: The Properties pane displays a list of different properties either configured or collected
during discovery.
13. Navigate to Service Mapping > Home and verify that there is one service to approve.
Note: There is no recent discovery status record created when you discovered the Online Payroll
Service because the host CI already existed in the CMDB.
3. Search for and delete the Windows record that matches your MID Server record.
4. After your MID Server record is deleted, navigate to Service Mapping > Services >
Application Services.
6. Click Run discovery to rediscover the Online Payroll Service and then immediately,
navigate to Discovery > Status.
Note: A recent discovery status record should display with a State of Active because discovery
on the host has to be completed before the service can be mapped properly.
7. Navigate back to the Online Payroll Service map and after a few minutes, verify the
Application Service is mapped again.
Note: Discovery will take longer this time because the host has to be discovered first.
1. After Discovery completes, right-click the Apache icon and select Show discovery
log….
Note: The discovery log shows the pattern that Service Mapping used to identify this
application. Additional details appear in the right pane when a specific pattern is selected. More
details on patterns and pattern writing will be covered later in the class.
P = Discovery Pattern
I = Identification Section
C = Connection Section
Green = success
Red = tried but not successful
4. View the Process Detection details which are automatically picked up with Service
Mapping.
Note: The process details collected are used extensively by patterns to correctly identify
applications running on a specific host and port.
2. Expand the Server icon to display the Apache Web Server application.
Note: Host view when turned on adds the host to the service map. By default, it is turned off to
maintain a simplified view of the map and keep it less cluttered.
3. Turn off the Host View to display the original map view.
4. Click the Service Map Form icon to quickly navigate back to the Business Service
record.
Note: This option provides a simple method to navigate back to the Application Service
configuration record.
2. From the right pane, scroll and view the Properties window that displays the
Application and Server attributes collected.
3. At the bottom of the Properties pane, under the Server section, click the Detailed
properties link to quickly navigate to the server CI in the CMDB.
Note: The map includes a relationship not only to the Apache Web Server that is part of the
service, but also with the IIS Web Server that was discovered by Horizontal Discovery in an
earlier lab. As a reminder, the service map only displays applications that support the service
being discovered versus the dependency view map displays all applications that were
discovered and dependent on a discovered host.
5. Navigate to Service Mapping > Home and verify the dashboard appears with one
service to approve.
6. Open the Approve tile and notice that the service can be sent to the application
owner for final approval, however you will do nothing for now as the approval
process will be covered later in class.
Note: It may take several minutes for the Dashboard to display the new service to approve. The
approval process flow for a service will be covered at a later point class.
ServiceNow offers an Automated Test Framework that is used in this class to check if records
were created correctly and you met the desired outcome during the lab. Run these tests if
you would like to validate completion of the lab.
Note: If the Run Test windows displays a message of Succeeded 100%, you passed the test and
your lab work has been validated. Nice work!
There may be situations where you successfully completed the lab and the test script fails
due to different naming conventions between what you entered and what was written in the
book. It is recommended to complete the labs using the same naming conventions to avoid
these scenarios.
Lab Objectives
Up to this point, Cloud Dimensions has mapped an individual service. Another approach is
available where Service Mapping can suggest services to map based on discovered load
balancers.
Service Mapping uses load balancers on a network to identify possible services (candidates).
As a Service Mapping administrator, you can map all or selected candidates in bulk, creating
multiple services in a single operation. This method of mapping can be useful for
organizations that do not have a lot of information about their services.
2. Click New.
• SSH private key: Available from Self-Service > Knowledge > Training Support
Files
Note: It is good practice to paste the SSH private key into a generic text editor before pasting it
into the SSH private key field in order to remove any unwanted formatting. Include Begin and
End tags in SSH private key field.
Note: Credentials can be tested against the load balancer target host with IP Address
198.51.100.167.
6. Navigate to Service Mapping > Home and confirm, under the Map tile, there are no
candidates displayed.
10. Verify a valid MID Server is selected and click OK to start the discovery process.
11. Navigate to Discovery > Status and verify an entry appears with a State of Active.
12. After the State displays Completed, navigate to Service Mapping > Home and verify
a new candidate displays under the Map tile.
IMPORTANT: Do not click the Map tile, this will start the mapping process, proceed to the next
step. If you click it by accident, navigate to the Application Services module and delete the
service just discovered to reset the Map tile count back to one.
14. Open the record and modify the Name to Americas Calendar Portal.
16. Click the Back button to return to the Service Mapping Home page.
Note: After discovery completes, the map displays errors and is not complete due to credential
issues.
22. From the Additional Info form, set Business criticality to 1 – most critical.
Note: Business criticality has no purpose when discovering a service, however the services that
are configured as more critical, when eventually approved and moved to an operational state,
will be placed in a tile on the Event Management dashboard that takes up more space
signifying its greater importance.
24. Navigate to Service Mapping > Home and notice there is one service that needs
fixing.
Note: There may be a delay of several minutes before the service displays.
27. Click the Host detection failed tile and review the messages for targets .66, .215,
and .176.
Note: A Quick Tip appears informing you that after successfully resolving a single error, you can
apply the fix to try to resolve all errors
Configure the following credentials and re-discover the Americas Calendar Portal
service.
• Password: SWAdvWork$1
• Password: 1G00dDemo (one, capital G, zero, zero, lower d, upper D, lower emo)
Note: Your map may appear with different connections because the service was discovered
with Traffic based discovery. If you view the Service Mapping Home page, the service may still
appear under the Fix tile, however if you view the specific error messages, they will now display
resolved. Within a short while, the Home page will automatically refresh and the service will be
moved under the Approve tile.
Configure the map to not display CIs and connections discovered using Traffic based
discovery:
Congratulations, you discovered a service that was suggested by the discovery of one of the
Cloud Dimensions load balancers. In addition, you were able to resolve one error
surrounding credentials that resulted in multiple errors being resolved simultaneously. Your
service, in a short time, will now appear on the Service Mapping Home page under the
Approve tile.
ServiceNow offers an Automated Test Framework that is used in this class to check if records
were created correctly and you met the desired outcome during the lab. Run these tests if
you would like to validate completion of the lab.
Note: If the Run Test windows displays a message of Succeeded 100%, you passed the test and
your lab work has been validated. Nice work!
There may be situations where you successfully completed the lab and the test script fails
due to different naming conventions between what you entered and what was written in the
book. It is recommended to complete the labs using the same naming conventions to avoid
these scenarios.
Lab Objectives
Cloud Dimensions, like many organizations, may have hundreds of services. Mapping each of
them individually can be time consuming. With Service Mapping, you can map a service
individually as performed in the prior lab or in bulk.
In this lab, you import and map more than one service at the same time. Cloud Dimensions
is well suited for this approach as they have performed cross-organizational mapping and
analysis and collected some information about planned services. Cloud Dimensions has
collected information in a specific order and saved it as a CSV file.
In this lab, you have Service Mapping extract the information from this file and automatically
create potential services referred to as service candidates.
1. From Self-Service > Knowledge > Training Support Files, locate and download the
file called BulkImport1.
Note: If the KB does not display, please access the needed files from this link or access them
from another student instance. https://servicenow.box.com/v/m010-kb
2. Modify the Americas Warehouse Management Portal target entry point to include
the private IP Address of your MID Server.
Note: The Private IP Address of your MID Server starts with 198.51…
2. From the Additional Options link, choose Import Service Map List.
3. Click Choose file and locate and select the BulkImport1 file you just modified.
4. Click Open.
5. Click Import.
Note: A list of two candidates displays. These records are stored in the Candidate Entry Point
[sa_cand_entry_point] table.
Note: More details of the candidate list display. Note the Source is defined as CSV file.
7. Click the back button to return to the Service Mapping Home page.
8. Click Map Your Services to start the discovery process of the candidate services
imported.
9. Click Continue.
Note: Under Additional Options, a message regarding the Services discovery is in progress
appears. This process can take 5 to 10 minutes to complete. Continue to the next step while
discovery is executing.
10. While discovery is executing, navigate to Discovery > Status and verify a record with
a description of Bulk Service Mapping Discovery and one record with a description
of Discover CI appear.
Note: Horizontal discovery is being executed only on one of the two target hosts of the services
imported because your MID Server host is already in the CMDB and therefore discovery of the
MID Server host does not need to take place. The host CI for the other service is not in the
CMDB and horizontal discovery needs to execute prior to the application mapping process.
11. Navigate to Service Mapping > Services > Application Services and two new
candidate services should display with a Discovery status of In Progress.
12. From the Americas Stock Trader record, click View map.
Note: After a short while when discovery completes, the service is not successfully discovered
due to credential issues.
Note: After discovery completes, the Americas Warehouse Management Portal displays with no
errors and is ready for approval by the application owner.
Note: The Home page tiles take a little while to refresh, but eventually an additional service to
approve should appear under the Approve tile and a new CI should appear under the Fix tile
representing the .4 device not discovered as part of the Stock Trader service.
15. After the Fix tile displays a value of 1, click Fix Your Services.
Note: The Home page may take between 5 to 15 minutes to refresh. If it is taking too long,
please move on to the challenge to resolve the error that would appear.
Note: The error is categorized as a Host detection failed error which is relating to unknown or
misconfigured credentials.
19. View the message regarding the error associated to the 198.51.100.4 host.
Create the following additional credential in order to discover the SQL host supporting
the Americas Stock Trader.
Windows Credential:
• Password: 1G00dDemo
2. Navigate to the Fix Your Services > Network > Host detection failed tile.
3. From the Quick Tip, check Don’t show again and click OK.
4. From the right pane, under ACTION ON ALL, click Retry Discovery and then
Continue.
5. Verify after a few minutes, the Error Status displays as Resolved for Host/IP
198.51.100.4.
Note: If the error does not refresh and display as resolved, move on to the next step and then
check back in a couple of minutes.
7. Open the service map for the Americas Stock Trader and verify the map displays as
shown:
8. Navigate to Service Mapping > Home and all services should display as ready for
approval.
Note: The Home page may take from 5 to 15 minutes to update and reflect that the service is
ready for approval. Please move on to the next lab and check back later.
Congratulations you have successfully discovered two services using the bulk
mapping process. Only two services were used to reduce time during the
discovery process, however this process can be used to import hundreds of
services if required.
ServiceNow offers an Automated Test Framework that is used in this class to check if records
were created correctly and you met the desired outcome during the lab. Run these tests if
you would like to validate completion of the lab.
Note: If the Run Test windows displays a message of Succeeded 100%, you passed the test and
your lab work has been validated. Nice work!
There may be situations where you successfully completed the lab and the test script fails
due to different naming conventions between what you entered and what was written in the
book. It is recommended to complete the labs using the same naming conventions to avoid
these scenarios.
CI Type - A classification of a CI (e.g. Apache, MS-SQL, host, etc.). New CI Types are created from
the System Definition > Tables module.
Pattern - Description of how to identify a type of CI with sections that provide the steps to discover
the application CI and outgoing connections. Each Pattern has at one associated CI Type (Class).
• Identification Sections - the part of the pattern that contains instructions to identify the
application CI
• Extension Sections – allows an implementor to extend the baseline identification section
of a pattern without modifying the actual pattern itself which allows for easy upgrading
• Connection Sections - the part of the pattern that contains instructions to identify and
create outgoing connections
• Steps – are the basis for discovery by providing specific instructions used in the
identification and connectivity sections to identify application CIs and outgoing
connections
Step 1 - Define an entry point. This is the protocol used to access the port for the top-level
application for the service.
Step 2 and 3 - If the host CI already exists due to a match in the CMDB, it will bypass the Discovery
process and go directly to the Service Mapping process and identify the application running on the
port defined by the entry point. Subsequently the application will be created or updated in the
CMDB and related to the host CI as determined by Identification and Hosting Rules.
The process to identify the host initially is performed by the IP address. The IP address is in the
CMDB, no discovery takes place. If there are duplicates, the most recent host, based on the last
discovery time is used. This process of looking up the host based on IP does not go through the
reconciliation engine.
Step 2 - If a match is found in the Connection Section of the pattern for the application that is
connected to, the process will vary depending on if the target host is in the CMDB or not.
Step 3 - If the target host does not already exist in the CMDB, the discovery process will execute to
discover the host server. If discovery of the target host is not successful, the process will stop.
Step 4 - If discovery of the target host is successful, it is added to the CMDB and the Service
Mapping process continues to identify the application it is connected to.
Step 5 - After target host is discovered or if it already existed in the CMDB, the Service Mapping
process will continue to determine if there is a pattern match on the target application. If there is, it
is added to the CMDB with a connection relationship from the source host and application. Steps 2,
3, 4, and 5 will repeat for every application connected that is part of the service.
Step 6 - When all Connection Sections are tried for the target pattern, and no match is found, the
process stops.
• are a dynamic grouping of CIs, based on some common criteria. For example, you can create
a technical service based on location for all web servers or all Oracle databases in Boston.
• are query based services on the CMDB defined by the user. A technical service reveals all the
CIs that match the defined filter and allows for visibility of similar CIs for an enhanced
understanding of the CMDB inventory.
• improve service delivery, increase IT efficiency, and enhance incident, problem, and change
management.
2. Root user or user with selective sudo access. SSH via open TCP port (default 22).
3. A protocol, host, and port to be used as the starting point to discover a service or to define the
outbound connection from one application to another.
4. Used to identify a type of CI with sections that provide the steps to discover entry points and
outgoing connections. Each CI Type has at least one associated Pattern.
• Identification Sections - the part of the pattern that contains instructions to identify an
application CI
• Connection Sections - the part of the pattern that contains instructions to identify and
create outgoing connections
Lab Objectives
Cloud Dimensions wants to address several errors affecting multiple service maps at the same
time to help streamline the service mapping process. The error handling forms available from
the Service Mapping Home page are designed to guide the user through an iterative approach
to handling groups of common errors at the same time. Some tiles have available instructions
or some have resolution actions to perform to remediate common issues.
Errors are categorized into six categories. The top-left tiles represent more fundamental errors
and as you address errors, moving towards the bottom-right, the errors reflect a more mature
environment, dealing with matters such as performance and map accuracy.
In this lab, you will aim to handle the first five categories, leaving map accuracy to the stage
where categories have a low number of errors and maps are almost ready.
1. From Self-Service > Knowledge > Training Support Files, locate and download the
file called BulkImport2.
2. Open the file to view the various candidate services that will be imported and
mapped.
1. From your ServiceNow instance, navigate to System Update Sets > Retrieved
Update Sets.
3. Click Preview Update Set and then close the dialog window.
2. From the Additional Options link, choose Import Service Map List.
3. Click Choose file, locate and select the CSV file just downloaded.
4. Click Open.
5. Click Import.
Note: A list of eight new candidates display. These records are stored in the Candidate Entry
Point [sa_cand_entry_point] table.
1. From the Service Mapping Home page, click Map Your Services and then Continue.
Note: The discovery can take several minutes. The form refreshes periodically. Wait until the
Map tile shows zero and the Fix tile displays eight before continuing to the next section.
1. Click the Fix tile and navigate to Configuration > No MID servers for IP address.
Note: The bulk error form offers recommended actions on a selected error or on all errors. The
form guides you to first handle one of the errors. Dependent on the type of error, you may have
a specific link taking you to the relevant configuration form. In this case, it is the Edit Mid
Servers form. In addition, for some error types, there is a View instructions link for further
guidance.
7. From the MID Server form, under the IP Ranges related list, you are able to identify
the issue with the Type value misconfigured to Exclude versus Include the IP Range.
9. Click Update.
10. Close the form to return to the Automation Error Messages list.
Note: It is good practice to retry discovery only on one active error to determine if the fix works,
before retrying discovery on all active errors.
12. While discovery is executing, the Error Status changes to Pending discovery and
then In Discovery and finally to Resolved.
13. After the solution implemented resolved the initial error, under ACTION ON ALL,
click Retry Discovery to attempt to resolve all errors in bulk for all services.
Note: A message confirms you are aware that a bulk discovery will run.
15. Monitor the Automation Error Messages until it refreshes and reflects an Error
Status of Resolved for all records.
Note: If you refresh the list manually, you will notice that some errors will display Resolved
while others will still be in a state of Pending discovery. This process can take several minutes to
complete. Please be patient and wait for all errors to resolve before continuing.
Note: There are new Network errors. Solving the fundamental IP Ranges issue allowed
discovery to progress to the next stages and encounter the next set of errors. The categories are
organized from top left to bottom right and it is recommended to address the potential errors in
this order to progress most effectively through the discovery of multiple maps simultaneously.
Note: The Network tile is to the left of the Configuration tile signifying a more mature type of
error.
19. Read through one of the messages and notice that a No valid credential found
message displays.
23. Click Test credential and verify the credential is validated against the target IP.
25. Return to the list of Host detection failed automated error messages and Retry
Discovery on all services.
26. Wait for the re-discovery to complete and the error messages display as Resolved.
Note: This process may take several minutes to complete. Please be patient.
27. Navigate to the Service Mapping > Home page and verify the additional services
now appear as candidates to approve.
28. Only if any services display under the Fix > Map Accuracy > Map accuracy – Missing
inclusion connections tile, under ACTION ON ALL, click Retry Discovery to
rediscover the services another time.
Note: The Home page can take several minutes to reflect the additional services to approve. If
the refresh is taking too long, check back at a later time.
You have not opened any service maps during the entire lab. From a process
perspective, it would now be time to inspect each of the service maps and
decide if it is complete and ready to be sent for review. You will perform the
review and approval process of a map in a future lab.
ServiceNow offers an Automated Test Framework that is used in this class to check if records
were created correctly and you met the desired outcome during the lab. Run these tests if
you would like to validate completion of the lab.
Note: If the Run Test windows displays a message of Succeeded 100%, you passed the test and
your lab work has been validated. Nice work!
There may be situations where you successfully completed the lab and the test script fails
due to different naming conventions between what you entered and what was written in the
book. It is recommended to complete the labs using the same naming conventions to avoid
these scenarios.
Lab Objectives
Cloud Dimensions is interested in managing and monitoring a group of similar configuration
items. As a first task, they would like to create a Technical Service representing all the IIS Web
Servers discovered by and stored in their CMDB that are critical to various services that it
offers.
In this section, you create a Technical Service, based on the requirements provided by Cloud
Dimensions, to logically group IIS Web Servers discovered by Service Mapping.
2. Click New.
Note: A logical grouping of IIS Web Servers discovered by Service Mapping display.
ServiceNow offers an Automated Test Framework that is used in this class to check if records
were created correctly and you met the desired outcome during the lab. Run these tests if
you would like to validate completion of the lab.
Note: If the Run Test windows displays a message of Succeeded 100%, you passed the test and
your lab work has been validated. Nice work!
You can assign Service Mapping administrator and Service Mapping user roles directly to service
groups. However, most enterprises choose to organize their roles as a hierarchy. It helps to manage
roles across multiple ServiceNow applications. For example, the Service Mapping administrator can
be part of a broader administrator role like administrator.
Application or service owners that are subject matter experts that are responsible to review and
approve service maps should be given the sm_app_owner role.
The Service Mapping administrator is responsible for mapping, fixing, and maintaining services. The
service owner is familiar with the infrastructure and applications making up the service. This user is
your service SME who provides information necessary for successful mapping of a service. Once a
service is mapped, this user reviews the results and either approves it or suggests changes.
Whenever an application CI gets rediscovered from a schedule that is executed, it returns the CI and
its outgoing connections resulting from the Connection Section of a pattern. If new outgoing
connections are discovered, then the target CIs for these new connections will be immediately
discovered. Otherwise, the target CIs for existing connections will be rediscovered based on their
own schedule. It is important to verify that at least one service, that the CI is part of, is in an has an
Operational state of Operational in order for it to be rediscovered.
Note that Discovery Schedules configured for Service Mapping only applies to application CIs
including the application CIs of load balancers. Hosts, including the device CIs of load balancers, are
rediscovered based on discovery schedules as configured under the Discovery menu.
Service Mapping uses a schedule for the most specific CI type. For example, if there are two CI
types, one of which is a parent, and the other is its child, and you create discovery schedules for
both of them, CIs belonging to the child CI type are discovered only using the schedule for the child
CI type, not the parent CI type.
The All Applications baseline schedule can be used to discover all applications for all operational
services on a scheduled basis if more granular schedules are not needed.
Lab Objectives
This lab explains the various statuses a service map may have during its lifecycle.
A. The Methodology
An Application Service is created in the system either manually or as a candidate. Once
created, it should always be under the responsibility of one person, either:
The process status may change to any of the available statuses in any stage of its lifecycle.
For example, a service in the Approval stage may be rejected and require Data Gathering. A
process status should be changed by the action related to it. For example, the action Send
for Review will change the status to In Review
Note: Do not confuse the Process Status with Operational status or Discovery status. You can
use the platform abilities to filter and generate reports based in this status for service progress.
1. From the Service Mapping > Home page, click the Approve tile and then the Send
for Review tile.
2. Search for and open the Hello World service to display the service map.
5. In the Description field, enter Please review the Hello World Service.
6. Click Submit.
Note: The Process Status field viewed earlier is automatically changed to In Review.
1. From the User menu, select Impersonate User, and impersonate Bob Approver.
2. Impersonating Bob Approver, navigate to Service Mapping > Services > My Tasks.
4. Click the Service Mapp URL link to open the service map.
Note: As the application owner, you are not satisfied with the map and decide to reject it.
7. Click Add, close the map, and from My Tasks, confirm the State of the task is
changed to Closed Complete.
1. Logged in as the System Administrator, navigate to the Service Mapping > Home
page.
2. Click the Approve tile and then click the Fix Rejected tile.
4. Click the service name to display the map along with the rejection details in the
Discovery Messages list.
Note: A Rejection error is categorized as Map accuracy. You may see this error and handle it via
the bulk error handling forms as well.
8. In the Description field, enter something about the missing connection information
and click Submit.
1. Impersonating Bob Approver, navigate to Service Mapping > Services > My Tasks.
4. From the Hello World service form, under the Reject Messages tab, verify you are
able to view all related data and updates to the task States and Request types.
Note: Service Mapping provides a streamlined method to capture data and notes as part of the
service record, preventing valuable communication from being scattered in emails and files
stored on external systems.
6. From the Worknotes tab, enter the following information to communicate to the
technical owner.
7. Click Post.
1. Logged in as the System Administrator, navigate to the Hello World service and
update its existing Entry Point port to 8081.
2. Click Update.
Note: Discovery should automatically start due to the entry point update. After discovery
completes the map should display the missing database.
Note: Set the Assigned to Bob Approver and enter any text you like in the Description.
5. After submitting the Send For Review form, impersonate Bob Approver, and open
the task assigned.
9. Use the Actions button and select Approve Service Map to approve the map.
10. Logged in as the System Administrator, from the Service Mapping Home page,
confirm that the service displays under the Completed tile.
Note: The Service Mapping Home page may take several minutes to refresh and update
correctly. If anything appears under the Fix tile, you should notice that it is a Map Accuracy
error that has now been resolved. The error should be removed from the Fix tile after the next
refresh.
ServiceNow offers an Automated Test Framework that is used in this class to check if records
were created correctly and you met the desired outcome during the lab. Run these tests if
you would like to validate completion of the lab.
Note: If the Run Test windows displays a message of Succeeded 100%, you passed the test and
your lab work has been validated. Nice work!
New CI Type attributes must be populated in order to display in the Properties pane. If a base field
needs to be added to the Properties pane, it can be added through the sa_map_properties view.
• Patterns identify applications and their attributes as well as their outgoing connections
• Several predefined discovery patterns exist for a large number of enterprise applications
• For in-house applications or where no patterns exists for a specific application, custom pattern
can be configured
All patterns run from the MID Server, e.g. WMI, SSH or any other command to get information.
Identification sections usually have one pattern to them, but each subsection contains one or more
steps. If identification section fails, it goes onto the next identification section in the same pattern. If
all identification sections in a patter fail, the next pattern is tried.
If one identification section is successful within a pattern, then the steps within the extension
section are tried.
Connection sections contain subsections based on an Entry Point Type, and each subsection
contains one or more steps. If one identification section is successful, then all connection sections
within the same pattern are tried which may create between zero and x number of outgoing
connections.
• Does Discovery run through every pattern before it gives up? Yes
• Does a pattern need to be configured if, for example, an IIS Web Server is to be mapped
correctly? Yes
• What happens if no pattern exists for the target application? A generic application is created
Various options are available to make it easy to parse various types of files. When other parsing
strategies such as delimited text do not work, regular expressions can be used to capture the
information needed.
For example, in order to populate a CI Type attribute called u_app_release_version, at least one
step needs to be created to collect the data and store it in a variable that matches the name of the
CI Type attribute.
Note: It is important when declaring two positions for a delimited text parsing strategy, two
variables must also be declared.
Command Examples:
type "C:\CloudDimensions\mongoose.cfg.txt”
dir "C:\CloudDimensions”
NOTE:
The Command Line Console can be restricted to specific groups or roles or be completely
deactivated by deactivating the SACmdProcessor record found from System Definition > Processors.
Through a deletion strategy, you can specify what you want to do with tracked configuration file CI
records when discovery can no longer find them. You can keep the configuration file CI record,
automatically delete it, delete only the CI relationships to it, or mark it absent.
2. Use a Delimited text parsing strategy and set the delimiter to “City: “ and a comma and set the
position to a 1. Another option would be a using a Regular expression of City: ([a-z]+\s[a-z]+).
Lab Objectives
In this lab, Cloud Dimensions is requesting that additional attributes be collected for the
Apache Web Server application, that supports the Online Payroll Service. Part of the Cloud
Dimensions application deployment and release strategy is to deploy a configuration file that
contains valuable information with respect to the application deployment, including location,
country, service supported, app release and version, app install date, and listening port.
3. Open the text file called apache.cfg and review its contents.
4. Still within your RDP session, open a browser and navigate to localhost:8080 to view
portal to the Online Payroll Service.
2. Click Hierarchy.
6. At the bottom of the list, double-click Insert a new row and complete the row as
shown:
• Type: string
• Max length: 40
7. Click Save.
First, you create a new variable and populate it using a Delimited text Parsing Strategy, then
you rerun discovery and verify the new data is collected.
In order to populate the new field with data collected from Service Mapping, it is necessary
to modify the appropriate pattern to collect the App Release Version from the configuration
file viewed earlier. Afterwards the value needs to be set into the variable that has the same
name as the field you created.
To modify the discovery logic in an identification section without changing the identification
section itself, an extension section to the pattern can be created to retain the integrity of the
baseline identification section. In this portion of the lab, you create an extension section with
a new step to collect the Application Release Version from the Apache.cfg file viewed earlier.
2. From the Discovery Patterns list, search and open the Apache On Windows Pattern.
Note: The Apache On Windows Pattern is associated with the CI Type/class ,Apache Web
Server, that you just added a new field to.
3. Under the Identification Section, click Identification for HTTP(S) entry point type(s)
to open the Pattern Designer.
Note: This is the Identification Section and the set of steps that were used to identify the
Apache Web Server that is part of the Online Payroll Service.
4. From the top left of the Pattern Designer, click the arrow next to Apache On
Windows pattern to navigate back to the Apache On Windows pattern.
6. In the Name field, enter Apache on Windows Extension and click Done.
Note: The MID Server runs extension sections after identification sections and only if at least
one identification section completes successfully. If there is more than one extension section
associated with a pattern, an order value can be defined to determine the order that the MID
Server runs the extension sections.
8. From the left pane, double-click Untitled Step and rename the step to Collect App
Release Version.
10. From the top of the Pattern Designer, click the Debug Mode button.
Note: Replace PrivateIP with the private IP Address of your Windows MID Server.
Note: A green circle should appear on the Debug Mode button to indicate you are in Debug
Mode. Debug Mode is an interactive mode. In Debug Mode, the editor performs all actions that
you perform in the screen. It is recommended that you work in Debug Mode when creating or
editing identification, extension or connection sections. Ensure the step you just created is
selected before continuing.
13. After Debug Mode appears with a green dot indicating it is turned on, from the
Operation drop-down list, select Parse File.
Note: The file path should populate the Select File field.
Note: Service Mapping retrieves the contents of the file and sets the default parsing to
Delimited Text. The file path also can be typed if need be. Use forward slashes in configuring
the path.
17. In the Includes Lines field, enter AppReleaseVersion and hit enter to filter only for
the application release information in the output.
Note: The content retrieved within the text file is now filtered based on your criteria.
20. From the Delimiters field, click the pencil icon to configure the delimiter.
21. In the bottom field, enter a space and then click the plus sign to add a space as the
delimiter.
23. In the Positions field, enter 2 and then tab out of the field.
Note: 2.0 displays highlighted automatically representing the action of the step.
24. From the top of the form click Test and verify the variable u_app_release_version
has a value of 2.0.
Note: Your new step is now configured to search for a file called apache.cfg.txt in a specific
directory. If the file is found, it collects the AppReleaseVersion value and stores it in a variable
called u_app_release_version. If the CI Type attribute\field you created earlier matches the new
variable, it will populate the contents of the variable in the new field after discovery is rerun
automatically. It is important that the variable and the field name match exactly, both from a
spelling and case perspective.
27. In the Step Comments field, enter Collect and store App Release for deployed
Apache Server.
29. From the top of Pattern Designer form, click Save to save your configurations.
Note: Extension sections only need to be saved to take effect and do not need to be published.
31. From the Apache On Windows pattern form, click the Pattern tab and notice how
the original patterns NDL (Neebula Description Language) is not modified as there is
no App Release configured in the Pattern Text.
Note: The extension section is stored in a shared library and does not affect the baseline
pattern text or NDL.
• Run Discovery on the Online Payroll Service and after discovery completes, verify the
App Release Version is collected and displays in the Properties pane as shown.
• View the Discovery Log and verify the new step was executed successfully.
Note: If the App Release Version does not display, verify that the field name you created in the
CI Class Manager matches the variable you created and populated in the new step. It should be
noted that if you deviated from the steps in the lab and created the field using “Form Layout”,
the value may get unexpected results.
1. From the Discovery Log window, select the Apache on Windows Extension.
2. From the top right of the Discovery Log window, click Debug to automatically
navigate to the Extension Section and have the Debug settings configured.
Note: You have easily navigated back to the extension section in debug mode if further editing
is required. This method of accessing the pattern is usually a lot easier, since you do not need to
know the actual pattern or specific parameters needed for configuring debug mode.
Perform the following new configuration to collect the CityLocation information from the
Apache application apache.cfg.txt file supporting the Online Payroll Service:
• Create a new Apache Web Server field of type String called City Location
• Add a new step to the Extension Section you are working with that collects the
CityLocation information defined in the apache.cfg.txt file.
• Run discovery to display the City Location information in the Properties pane as shown.
Hint: Instead of creating a new step from scratch, attempt to copy and paste the step already
created, and modify it accordingly to meet the requirement.
CHALLENGE 3 (Optional):
Add a new step to the Extension Section you have been working with to collect the Listening
Port from C:/apache2/conf/httpd.conf file and populate the baseline field called TCP
ports(s).
Good Practice: Instead of using the parse file operation for every step to retrieve the content of
the apache.cfg file, one query to the server for content of the file is all that is needed. The
results can then be stored in a variable, and then the variable can be used in subsequent steps
with a parse variable operation to retrieve the same data required without additional round
trips to the server.
ServiceNow offers an Automated Test Framework that is used in this class to check if records
were created correctly and you met the desired outcome during the lab. Run these tests if
you would like to validate completion of the lab.
Note: If the Run Test windows displays a message of Succeeded 100%, you passed the test and
your lab work has been validated. Nice work!
Lab Objectives
In this lab, you collect additional attributes that Cloud Dimensions is eager to obtain after
discovering the Apache Web Server supporting its Online Payroll Service. In this lab, a Regular
Expression parsing strategy is used to collect the information needed.
Regular Expressions are very powerful in filtering for the exact data needed when a Delimited
Text parsing strategy does not work.
Service Mapping comes with a Command Line Console which provides an alternative to
having to RDP to a target file system to browse and research for information that may be
useful when configuring Discovery Patterns.
1. From your personal laptop, open a browser and in the URL field type in
[Instance]/SaCmdManager.do?ip=[PrivateIP]
Note: Replace Instance with your ServiceNow instance URL and PrivateIP with the private IP
address of your MID Server. SaCmdManager is case sensitive.
2. Once connected to the Command Line Console, from the prompt, type in ipconfig to
retrieve Ethernet adapter information about your MID Server.
Note: The Command Line Console uses the same credentials available from the credentials
table and sends its commands by way of the MID Server, so a slight delay will be experienced.
Note: In the next section of the lab, you add an additional step to the Apache extension section
to collect the value for CountryLocation.
Note: The Windows type command is equivalent to the UNIX cat command and displays the
contents of a file. The Command Line Console provides an easy method to browse a target file
system without the need to RDP to the system and enter credentials. The credentials used
during this session must already be configured in the ServiceNow Credentials table or a 3rd party
credential store such as CyberArk if this integration is configured. Often when extending a
pattern or creating a new pattern, information about the target file system will be needed.
Using the Command Line Console simplifies this process.
Important: Console access can be deactivated if not needed. Simply navigate to System
Definition > Processors and deactivate the SaCmdProcessor record.
6. Click the Pinned Classes icon and notice Apache Web Server appears making future
navigation to this class easier.
8. Under Class Info, click the Attributes tab and add the following new field under the
Added tab.
• Type: String
• Length: 40
9. Click Save.
1. From the Apache on Windows pattern, open the Apache on Windows Extension in
Pattern Designer and configure Debug Mode if necessary.
Note: If Debug Mode is not enabled represented by a green dot, enable it as learned earlier.
2. From the left pane, right-click on the last step and choose New step below.
• Variable: u_country_name
5. Click the Test button to verify United States is returned to the u_country_name
variable and to verify the step is configured correctly.
CHALLENGE 1 (Required):
Run Discovery on the Online Payroll Service and verify the Country Name property is
populated with United States and displays in the Properties pane.
CHALLENGE 2 (Optional):
Using a Regular Expression parsing strategy and the data stored in the apache.cfg.txt file,
configure Service Mapping to display the Last Change Date in a string field after
rediscovering the Online Payroll Service as shown.
• DateTimeLastChange (\d{4}/\d{2}/\d{2})
• DateTimeLastChange (\d+/\d+/\d+)
• DateTimeLastChange (.{1,10})
• DateTimeLastChange (.*)-
• DateTimeLastChange (.+)-
• DateTimeLastChange ([\d\/]+)
Can you think of others? If yes, please test to verify your Regular expression works and share
with the class.
ServiceNow offers an Automated Test Framework that is used in this class to check if records
were created correctly and you met the desired outcome during the lab. Run these tests if
you would like to validate completion of the lab.
Note: If the Run Test windows displays a message of Succeeded 100%, you passed the test and
your lab work has been validated. Nice work!
Lab Objectives
Services are generally comprised potentially of a hybrid environment of infrastructure
containing both Windows and UNIX type servers. In this lab, you add to your skills of searching
for, collecting, and parsing data from Windows configuration files and gain basic skills working
within a UNIX environment to search for and collect file data.
Additionally, you work further with the Command Line Console and will be introduced to the
Command Prompt and the Parse command output operation within the Pattern Designer.
DISCLAIMER: There are many flavors of UNIX. Commands used in this lab are working
examples based on a Linux Ubuntu operating system where the UNIX credential defined for
the user has sudo privileges. It is recommended to type all commands versus using copy and
paste as this can cause variance in characters that may result in commands not working as
expected.
1. From your personal laptop, open a browser and in the URL field enter the following:
• [Instance]/SaCmdManager.do?ip=198.51.100.167
Note: Replace Instance with your ServiceNow instance URL. SaCmdManager is case sensitive.
198.51.100.167 is a load balancer on a UNIX system that is part of the Calendar Portal you
discovered earlier.
• ifconfig
Note: The IP Address that is connected by the Command Line Console must be in the CMDB,
otherwise horizontal discovery is run against the target before you can connect to the target
and display the results of the command.
• id
Note: The user being used for this session is ubuntu which is part of the sudo group.
4. To display the directory you are currently in, enter the following:
• pwd
• ls /home/ubuntu or ls
Note: Since you are already in the ubuntu directory, you can just enter ls to display all files in
the current directory.
Note: As noted in the disclaimer, if no results are returned, verify you are typing the commands
in versus copy and pasting them as hyphens, quotes, and other characters will vary between the
book and command line interface.
Note: The period can be used to replace the path of the current directory and save significant
typing over time.
• cat ./smtraining/lbappinfo
Note: Displaying the contents of a file is very useful to determine if valuable information is
available to use when creating or modifying patterns.
8. To search if the lbappinfo file contains the word location, enter the following:
Note: grep looks for a string within a file, which is very useful if the file you are looking at is
very large and contains a lot of text.
• grep –r appowner ./
Note: This command can be valuable if you need to search for a string within a file and the
specific file location is unknown. The directory path should be as targeted as possible to avoid
any performance or memory issues on the operating system.
2. From the Service named Americas Calendar Portal, click the View map link to open
the Service map.
Note: Service Mapping executes several UNIX commands during process detection to determine
which application is running on the port defined for the entry point.
4. Copy and paste the netstat command into the Command Line Console and hit enter.
Note: The results returned from this command differ if not executed as sudo.
Note: The results reveal that an application called haproxy is running on port 80 with a process
id. This is the first command executed for process detection on this host during Service Mapping
discovery. Commands will vary depending on operating system. From the Discovery log, if
interested, you can follow the remaining commands that are executed automatically during
process detection.
2. From the service named Americas Calendar Portal, click the View map link to open
the Service map.
3. Select the HA Proxy icon and from the Properties pane, view the path to the
haproxy.cfg file.
Using the UNIX command skills practiced in the previous section, search for the following
information contained in the haproxy.cfg file:
• What are the IP Addresses of the 3 servers connected to as the backend portal?
CHALLENGE 2: (Optional)
Hint: Use Google to search how to determine the version of HAProxy or refer to the end of the
lab for answers.
4. From the Americas Calendar Portal service map, right-click the HA Proxy icon and
select Show discovery log.
6. Click Debug.
7. From the Debug Identification Section window, click the Connect button to open
the HA Proxy pattern in Debug Mode.
Note: The Command Prompt provides an alternative to the Command Line Console to run
commands. The Command Prompt provides a powerful tool within the Pattern Designer to
research an application and find specific configuration data.
9. In the Command field, enter cat /etc/haproxy/haproxy.cfg and click Run Command
to return the contents of the haproxy.cfg file.
Note: Similar to the Command Line Console, the credentials being used by the Command
Prompt have to be preconfigured and all commands are executed by way of the MID Server.
10. In the Command field, enter grep maxconn /etc/haproxy/haproxy.cfg and click Run
Command to return any line in haproxy.cfg that contains the string maxconn.
11. In the Command field, enter haproxy –v and click Run Command to return the
version of HA Proxy.
• /home/ubuntu/smtraining/lbappinfo
Note: The results of the file display. It is possible to use a Delimited or Regular Expression
parsing strategy to obtain the necessary information needed and set it into a variable.
Note: Parse command output allows for the execution of any command line.
• cat /etc/haproxy/haproxy.cfg
Note: Like the Parse file operation, the Run Command operation also supports various parsing
strategies to obtain the desired information returned as output from a command and the ability
to set it in to a variable.
9. Update the Set Command Details field and enter the following:
11. Update the Set Command Details field and enter the following:
• /usr/sbin/haproxy -v
Note: The same results are available as were earlier tested from the Command Line Console
and Command Prompt. The Command Line Console and/or Command Prompt within the
Pattern Designer provide valuable tools to assist in pattern writing to refine the operations, file
paths, and commands that may need to be written to return the desired results.
13. From the Temporary Variables pane, expand process to display the process
variables.
Note: Process variables provide dynamic paths to files and commands and can be used to
prevent hard coding of file paths.
• $process.executableDir+"haproxy -v"
Note: It is possible to click and drag the temporary variable, executableDir to the Set Command
Details field to auto populate the field with the variable.
Note: The executable directory variable represents the path where haproxy –v is run to return
version information. This method provides a more dynamic and scalable method to obtain
version information as it can take path changes into effect.
16. From the upper left of the screen, click < HA Proxy to open the HA Proxy pattern
form.
Using the skills learned in this lab and prior labs regarding extension sections, update the HA
Proxy discovery pattern to return the Maxconn value that is stored in the HA Proxy
haproxy.cfg file to display in the Properties pane from the service map when selecting the HA
Proxy icon.
• Create a new field in the HAProxy Load Balancer table called u_maxconn.
• Create a new extension section in the HA Proxy pattern to collect the maxconn value of
256
Note: There are multiple ways to collect the maxconn value. Any are acceptable. The only
thought you want to provide insight to is if the method you choose is scalable or not.
Adding the \s+ after maxconn and the ^ before maxconn allows the step to still capture the
value if for some reason the file was configured with one or more spaces between maxconn
and 256 and if maxconn appears in other strings such as in the second line of the results,
making this a more scalable solution.
Lab Objectives
The horizontal discovery process has the capability to collect configuration file data that
belongs to certain applications and add those configuration files to the CMDB. Additionally,
you have the ability to track the changes to these files by comparing them to previous
versions.
6. Click Update.
1. Under the Trigger probes related list, click the link titled Apache On Windows to
open the pattern.
Note: This tab only appears if a process classifier exists for the CI Type of the pattern you are
viewing and the process classifier has the HorizontalDiscoveryProbe configured as previously
mentioned.
• Active: Checked
• Run a Quick Discovery against the Private IP address of your MID Server.
• After discovery completes, verify the tracked files are collected and display as part of the
Apache Web Server application record as shown:
• From the service map for the Online Payroll Service, verify when the Apache icon is
selected that the Tracked Configuration Files appear in the Properties pane as shown.
3. Under Content Versions, check both records, and then click the Compare button.
Note: Changes between the two files are easily displayed along with their respective time
stamps. If the window does not display, verify your browser allows pop-ups to display.
2. Pattern declares it knows how to discover the application if all steps are successful.
• Application CI is created or updated
• Steps populate the attributes
Step 1 – Define an entry point. This may be a URL or TCP port that is used to access the top-level
application for the service.
Step 2 – If a host does not currently exist, the discovery process will use the Port (Shazzam),
Classification, Identification, Exploration probes to identify the host machine that is running the top-
level application for the service. The host will be add to the CMDB. If the host CI already exists, it
will bypass the Discovery process and go directly to the Service Mapping process.
Step 3 – Once a host computer has been identified, Service Mapping will use the entry point to
access the top-level application of the service. It will utilize the steps in the Identification Sections of
various patterns to determine the correct application running and either create or update the
application in the CMDB.
A step may not be evaluated if a precondition exists on a step and is not met. In cases like this, the
step is not evaluated and the next step is tried.
• If your organization deploys proprietary applications, you must create new patterns for these
items to enable Service Mapping to discover them.
• If you deploy common enterprise applications in a non standard method, it may be necessary to
modify or extend the existing Service Mapping patterns to reflect the changes as they pertain to
your specific deployment of an application.
Each Service Mapping pattern is associated with only one CI Type\class. At the same time, Service
Mapping usually uses more than one pattern to discover the same CI Type, since the CI Type can use
different protocols, operating systems, entry points and so on. As an example, when looking at the
various baseline Discovery patterns, you will notice two specifically for Apache. One represents
Apache on Windows and the other is used to identify Apache on UNIX.
You define an operation for every step; the kind of operation dictates parameters and variables you
must configure for it.
Important: If the precondition is not met on a step, the step is ignored and not evaluated, and the
next step is tried.
Using a delimited text parsing strategy with a space delimiter, you can retrieve the value of 8.5.7.
What delimiters and position can you use to retrieve just the 8?
For example, instead of retrieving a file using a hardcoded path such as ”c:\appsample\readme.txt”,
it would be recommended to obtain the former part of the path and setting it into a variable (i.e.
$install_directory_variable), then define the path to retrieve the file using the following syntax,
$install_directory_variable+"\readme.txt”. Using variables will allow the pattern to scale to various
installations where the readme file could reside on either the c:, d: or even e: drive.
• Avoid mixing support for applications deployed on different operating systems, preferably create
two separate Identification Sections or Discovery Patterns
• Use a Match operation as the first step to immediately try to identify the application by process
or some other mean to avoid other steps from executing unnecessarily if no match is found
• Collect information such as installation location, version, name, configuration file path
Patterns and their Identification Sections are run against the top-level application to determine if
there is a match. If a match is not found, a Generic Application will be assigned to that CI.
If a top-level application is identified successfully, Service Mapping will attempt to identify outbound
connections to other applications that are communicating with the top-level application by
attempting each of the Pattern Connection Sections.
2. A pattern is successful when all steps are evaluated as true and/or steps are not evaluated due
to a precondition.
3. No pattern matches or exists, and the Generic Application pattern evaluates as true.
Lab 6.1: Build Discovery Pattern from Generic Application (30 minutes)
Lab 6.2: More Identification Section Configuring (40 minutes)
Lab Objectives
Cloud Dimensions owns an EMEA Customer Support Portal that is supported by a Mongoose
Web Server. Service Mapping currently does not have a baseline CI Type or Discovery Pattern
to identify this application.
Cloud Dimensions wants the implementation team to create a new CI Type and Discovery
Pattern to discover and map their Customer Support Portal.
Note: If the page does not load, use Windows Explorer and navigate to C:\CloudDimensions
and double-click on mongoose-free-5.5 to start the Web Server.
Note: mongoose.cfg is a mocked file created for training purposes. mongoose is the actual .conf
file that is installed with the Mongoose Web Server.
2. Launch a quick discovery against your MID Server in order for horizontal discovery to
rediscover your MID Server and collect the new Mongoose process running.
Note: For the URL, replace PrivateIP with your Windows Server Private IP address provided by
the reservation page. It should begin with 198.51...
7. From the Additional Info tab, complete the remaining configuration of the service
using the following information:
8. Click Update.
Note: Discovery finds a Mongoose process running on the server for port 7095, however since
there is no Mongoose pattern, the application is identified as a Generic Application and is
assigned the generic application icon.
11. Right-click the Mongoose icon and select Show discovery log…
CHALLENGE 1 (Required):
1. From the EMEA Customer Support Portal map, right-click the Generic Application
icon, and choose Create pattern from generic application.
Note: It is good practice to configure the conditions in a scalable manner to support various
installation configurations of the application.
3. Click Create.
Note: Do not leave the service map until discovery completes. Discovery should execute again
and map the application as a Mongoose Web Server. A new Process Classifier, CI Type (Class),
and Discovery Pattern is created during this process.
1. Right-click the Mongoose Web Server map icon and select Show discovery log.
2. Verify the new mongoose pattern created is used to identify the web server and the
generic pattern is no longer used.
Note: The condition created earlier for the process classifier is displayed.
8. Under the Trigger probes related list, under the Pattern column, click and open the
ga_u_mongoose_web_server pattern.
Note: This is the pattern that was automatically created for you.
Note: It is good practice to prefix custom patterns with a common naming convention.
2. Under Identification Section, check the box, and click Edit to modify the
Identification Section.
4. Click Done.
5. Click Save.
7. Click the Debug Mode button and configure the URL with the correct path and port
to the Mongoose Web Server configured on your MID Server.
Note: In Debug Mode, some of the variables are populated, including several around
Mongoose. Each of these variables can be used as part of the pattern building process to assist
in correctly identifying an application.
10. From the left pane, rename the first step to Check Process Executable.
11. Under the Match operation, clear out any values that display.
Note: It is good practice to reconfigure this step to perform a match on a specific process.
13. From the left pane, rename the second step to Set Name.
Note: This step sets the name of the application to a hardcoded value of Mongoose Web
Server.
Run discovery against the EMEA Customer Support Portal service and verify the
following:
• The Name displays as Mongoose Web Server as set in step two of the Identification
Section
• The CI Type displays as Mongoose Web Server as defined by the Mongoose Web
Server discovery pattern
• Discovery Log displays the updated identification steps you just configured.
1. Navigate back to the CD Mongoose Web Server pattern and open the identification
section.
• Precondition: checked
Note: In this step, you set a Precondition that must be met for the step to complete its
evaluation. By default, this checkbox is not selected and the step is unconditional; that is, the
step is always executed as defined. In some cases, it may be helpful to only evaluate a step
under certain conditions. The step evaluates that the executable contains mongoose only if the
executable path contains Cloud.
4. Place a number 1 after the word mongoose and click Test again and verify a failure
message is returned.
Run discovery against the EMEA Customer Support Portal and verify the following:
• Mongoose application is still identified as a Mongoose Web Server CI Type
• Discovery Log displays the Mongoose Web Server pattern is used and all steps execute
successfully
• Delete the mongoose-free-5.5.exe Generic Application that was created at the start of
the lab.
ServiceNow offers an Automated Test Framework that is used in this class to check if records
were created correctly and you met the desired outcome during the lab. Run these tests if
you would like to validate completion of the lab.
Note: If the Run Test windows displays a message of Succeeded 100%, you passed the test and
your lab work has been validated. Nice work!
Lab Objectives
In the previous lab, you successfully built an identification section to map a Mongoose Web
Server application in the Cloud Dimensions datacenter.
In this lab, you modify the identification section created in the previous lab to further
understand the features and flexibility that you have when building patterns.
Each scenario provides explanation for what you are supposed to accomplish with some
guidance in how to accomplish it. However, to deepen your pattern writing skills, this time you
are not given step-by-step instructions; instead, you need to leverage the skills you have
learned up to this point to accomplish the required outcomes.
The intention of this lab is to develop your independent pattern building skills and introduce
you to new operations and features available when building and configuring patterns.
Note: The Terminate if not found checkbox, when selected, terminates the step, and exits the
identification section if the step fails.
Before a match is tried on process, Cloud Dimensions would like to confirm there is a match
on the entry point port with the port collected in the mongoose.conf file. Another
precondition needs to be added to the Check Process Executable step to meet this
requirement.
• Name: Check Process Executable
• Precondition: $entry_point.port | Equals | $mongoose_listening_port
Note: A plus sign may be added to the variable name when you add one into the form (e.g.
$mongoose_listening_port+). Simply tab out of the field and the plus sign will be removed
automatically.
• Save and Publish your changes and run discovery against the EMEA Customer Support
Portal service
• Verify the steps succeeded in the discovery log as shown:
In this scenario, as good practice, Cloud Dimensions would like to use a variable path to
represent the current directory Mongoose is installed in versus hardcoding the path. This will
save them from having to update the step if the file path changes in the future.
In the first step, you will reconfigure the file path to leverage the temporary variable called
process.currentDir. Next, you will concatenate to the end of the variable path, the
mongoose.conf name using a plus sign.
• Save and Publish your updated pattern and then run discovery against the EMEA
Customer Support Portal service.
• Verify the steps succeeded in the discovery log as shown:
In this scenario, you configure the identification section to determine if the version being
used is free in order to proceed with the correct identification section.
In this section, you will open the CD Mongoose Free identification section and will add steps to
collect the version information, test if the application install version contains the word free,
and finally, test if the .exe contains the word mongoose.
Create Step 1
Create Step 3
In this section, you will open the CD Mongoose Licensed identification section and add a new
step to check if the version of Mongoose is free.
• Save, Publish, and run discovery against the EMEA Customer Support Portal service
• Verify the steps succeeded in the discovery log as shown:
Note: The CD Mongoose Licensed section should fail and the CD Mongoose Free section should
complete successfully.
• Modify the pattern to obtain the Mongoose numerical version and have it display in the
Properties pane as shown after discovery is run against the EMEA Customer Support
Portal service.
Note: Version should be set into the baseline version attribute. Potential solution provided at
the end of this lab.
• Create a new step in the CD Mongoose Free Section to parse the mongoose.cfg.txt file
for the ApplicationInstallVersion and set it to a variable called version that maps to the
baseline field called version.
• It is possible to use either a Regular Expression or Delimited Text parsing strategy to
meet the requirement. An example of using both parsing strategies is provided below.
or
ServiceNow offers an Automated Test Framework that is used in this class to check if records
were created correctly and you met the desired outcome during the lab. Run these tests if
you would like to validate completion of the lab.
Note: If the Run Test windows displays a message of Succeeded 100%, you passed the test and
your lab work has been validated. Nice work!
Additionally, the Command Prompt and Command Line Console can be used to help investigate
where connection parameters reside and provide insight into how to capture their details in
operation steps.
Java.exe is a generic application. Either no CI Type definition exists for it, or no pattern matched.
Therefore in this example, a successful outbound connection was built, but the target application is
unknown and must be identified by a pattern as learned in a previous module.
Step 2 - If a match is found in the Connection Section of the pattern for the application that is
connected to, the process will vary depending on if the target host is in the CMDB or not.
Step 3 - If the target host does not already exist in the CMDB, the discovery process will execute to
discover the host server. If discovery of the target host is not successful, the process will stop.
Step 4 - If discovery of the target host is successful, it is added to the CMDB and the Service
Mapping process continues to identify the application it is connected to.
Step 5 - After target host is discovered or if it already existed in the CMDB, the Service Mapping
process will continue to determine if there is a pattern match on the target application. If there is, it
is added to the CMDB with a connection relationship from the source host and application. Steps 2,
3, 4, and 5 will repeat for every application connected that is part of the service.
Step 6 - When all Connection Sections are tried for the target pattern, and no match is found, the
process stops.
2. From a previous step or set of steps that parse the needed configuration file(s) that define the
connection parameters. The Command Line Console or Command Prompt can be useful in
finding the necessary configuration information.
Lab Objectives
Cloud Dimensions has an internal service called the Dispatch Scanning Service that uses an
Apache Web Server and a Tomcat Application Server. The implementation team’s
responsibility is to discover the Apache Web Server on port 80 and then build a connection
section to discover the Apache Web Server to Tomcat connection with information collected
from Apache’s configuration file.
Note: Dispatch Scanning Service will be the next Business Service you discover for Cloud
Dimensions.
CHALLENGE 1 (Required):
Discover the EMEA Dispatch Scanning Service using the following information:
• Service Name: EMEA Dispatch Scanning Service
• Owner: Abel Tuter
• Entry Point Type: Web Application
• URL: http://198.51.100.11
• Business Criticality: 2 – somewhat critical
• Traffic based discovery: checked
Hint: Business Criticality and Traffic based discovery can be found from the Additional Info tab.
4. From the Connection Section dialog window, enter the name CD Apache to Tomcat
Connection.
Note: There is a baseline connection section for Apache to Tomcat, but based on Cloud
Dimensions implementation, they have decided to create a new connection section versus
modifying the baseline connection section. However, both methods are acceptable.
5. Click Done.
7. Click and open CD Apache to Tomcat Connection to open the connection section in
pattern designer.
Hint: Refer to the entry point defined at the start of the lab as a reference.
9. Click Connect.
In this section, you create your first connection section step in the Apache on Windows
pattern to obtain information stored in the Apache httpd.conf file.
• Variables: Table
• Delimiters: space
• Positions: 1,2,3
3. After completing the configuration of the step, click Test to verify the ProxyPass
string is parsed correctly as shown:
4. Click Close.
In this section, you create a second step to parse the URL value (or values if more than one
exists) into discrete variables automatically using the Parse URL operation and store them in
another table called proxy_url_table.
• Source: $proxy_params_table[*].url_column
• Target: $proxy_url_table
Note: This step takes all URL discrete components and places them into specific columns of a
new table called proxy_url_table. Table names can be whatever you want to call them but
should have meaningful names.
Note: This operation prevents the need for the pattern writer to parse the URL using a
delimited, regular expression or some other parsing strategy.
In this section, you create the last step that will create the connection between Apache and
Tomcat using the configuration information collected/parsed and stored in the various
columns within the proxy_url_table.
1. Create a third step as shown:
• Connection attributes:
o host | $proxy_url_table[*].host
o port | $proxy_url_table[*].port
o protocol | $proxy_url_table[*].protocol
o url | $proxy_url_table[*].url
Discover the EMEA Dispatch Scanning Service with the new connection section using the
following information:
• Save and Publish the pattern
• Rediscover the EMEA Dispatch Scanning Service
• Verify a new connection is created from Apache to Tomcat
• Verify the connection attributes are viewable in the Properties pane
1. From the EMEA Dispatch Scanning Service map, right-click the Tomcat icon and
select Show discovery log…
2. Notice that several patterns are tried before a match with the Tomcat pattern.
Note: Entering a Target CI Type limits the pattern being tried to only the specified CI Type. In
this example, only the Tomcat pattern will be tried when using this connection section.
ServiceNow offers an Automated Test Framework that is used in this class to check if records
were created correctly and you met the desired outcome during the lab. Run these tests if
you would like to validate completion of the lab.
Note: If the Run Test windows displays a message of Succeeded 100%, you passed the test and
your lab work has been validated. Nice work!
Lab Objectives
An Apache web server and a Tomcat application server comprise key applications for the Cloud
Dimensions EMEA Dispatch Scanning Service.
After the service is discovered, it is sent for review to the application owner, who brings to the
implementation team’s awareness that there is a connection from Tomcat to a HyperSQL
database that is missing from the map.
The implementation team must complete the map based on the missing information and send
the map back to the application owner for final approval.
In this scenario, it will be the responsibility of the implementation team to build a connection
section between the Tomcat war and HyperSQL, and build a functional identification section
and class for HyperSQL including an appropriate identification rule.
Note: This lab is designed to be less step by step to provide the student with more independent
learning, but should provide sufficient information to complete all sections.
Hint: Refer to the lab, Review and Approve Map, if you are having difficulty navigating the
process flow to review and approve a map as required in the following tasks.
• Assign the appropriate role to the Application Owner, Abel Tuter, in order for him to be
able to review the map
• Starting from the Service Mapping Home page, navigate and send the EMEA Dispatch
Scanning Service for review to the Application Owner, Abel Tuter
• Impersonating Abel Tuter, review the map for the EMEA Dispatch Scanning Service, and
reject the map providing the following reason: “Tomcat should display a connection to a
database”
• Impersonating Abel Tuter, review the open task and from the Business Service form set
the Service Process Task that has a State of Open, to Work in Progress.
• From the Worknotes enter and post the following information: “Tomcat should display a
connection to a HyperSQL database” and finally select the action to Submit
Questionnaire.
• For the Tomcat war pattern, create a new Connection Section, called Tomcat WAR to
HSQLDB.
In the first step of the connection section, you use the Parse file operation to obtain JDBC
information from the parent conf XML file using an XML parsing strategy.
1. Open the Tomcat WAR to HSQLDB connection section into Pattern Designer.
• URL: http://198.51.100.11:9080
• Directory: /examples
Note: The debug information represents the server and port that the Tomcat war application is
running on, which has critical information on how Tomcat is configured to communicate and
connect to HSQLDB.
4. Click Connect.
5. Complete step one as shown and then click Retrieve File Content.
Note: When creating a connection section, variables from the identification section can be
leveraged such as $parent.conf_file.
• jdbc:hsqldb:hsql://198.51.100.11:9001/xdb.
7. From the dialog box that appears, enter jdbc_info_column and hit enter.
Note: A temporary variable is automatically created and all similar XML tagged strings are
highlighted and stored in the table.
Note: You have created a table that contains all three JDBC connections.
In this step, you use the Filter table operation to filter only for the hsqldb connection in the
jdbc_info_table. This is the only connection of concern based on the entry point and service
being discovered.
2. Click Test and verify the new table displays filtered data with only the connection
information for HSQLDB.
Note: The Filter Table operation allows for the filtering of records that are pertinent to this
service.
In this step, you use the Parse Variable operation to segregate the HSQLDB URL string into
discreet components.
• Delimiters: / and :
• Positions: 3,4,5,6
Note: In the hsql:// portion of the string, the first / acts as an escape character for the second /
and therefore are not included in the positional counting of the delimiters.
Create Step 4:
In the last step, you use the information you collected, parsed, and stored in the
jdbc_connection table to define the connection information.
o host | $jdbc_connection[*].host
o Instance | $jdbc_connection[*].instance
o port | $jdbc_connection[*].port
Note: Currently no specific Entry point type exists for HSQLDB, so temporarily you utilize the MS
SQL Server Endpoint type since the attributes required to build a connection are the same.
5. Verify a new connection is created from the Tomcat WAR to a Generic Application
called java.exe as shown.
Note: The connection section is working, but there is no pattern and identification section
currently configured to identify HyperSQL, and therefore Tomcat shows a connection to a
Generic Application. Service Mapping knows it is connected to something, but cannot determine
the correct class (CI Type).
2. Click Hierarchy.
Note: A list of fields are inherited from the Endpoint table that was extended. Port and Host are
automatically inherited, but a new field for instance needs to be added.
Add Attributes:
• Type: String
• Max length: 40
Hint: Under Identifier Entries, click Add and use attributes from the main table.
7. From the Add Reconciliation Rules tab, click Next then Done to create the new
class.
2. From the Create Connection step, modify the Select Entry Point to use the new
HSQLDB Entry Point as shown:
Note: It may be necessary to reopen the Pattern Designer to refresh and view the new HSQLDB
Entry Point.
5. Verify a connection from the Tomcat war to the Generic Application is created using
the new Entry Point.
2. Click Hierarchy.
5. Configure the Provide Basic Info tab using the following information:
• Icon: Database
7. From the Set Identification Rule tab, click Replace and verify Dependent is selected
and then click Save.
8. From the Set Identification Rule tab, under Identifier Entries, click Add.
9. From the New Identifier Entry window, select Use attributes from main table.
11. View and accept the defaults for the remaining tabs.
12. From the Add Suggested Relationships tab, click Done to create the new class and
identification rule.
Note: A new HyperSQL class extended from the Database instance class is created in addition to
a new HyperSQL identification rule.
2. Click New.
6. Click Done.
For the purpose of this exercise, you are going to keep the identification section steps to a
minimum, however it would be prudent to add additional steps to this section if the
following are required:
1. Select and open the HyperSQL Identification Section to open Pattern Designer.
4. Click Connect.
• Operation: Match
• Variable: name
Note: If the HyperSQL pattern is not tried, a restart of the MID Server may be required.
• Logged in as the System Administrator, from the Service Mapping Home page, verify the
service displays under the Completed tile as an Approved Service.
Congratulations, you have approved and completed the service map for the
EMEA Dispatch Scanning Service and met all the requirements as listed by the
application owner.
ServiceNow offers an Automated Test Framework that is used in this class to check if records
were created correctly and you met the desired outcome during the lab. Run these tests if
you would like to validate completion of the lab.
Note: If the Run Test windows displays a message of Succeeded 100%, you passed the test and
your lab work has been validated. Nice work!
Lab Objectives
While Service Mapping is being implemented at Cloud Dimensions, the company plans to
continue to use their legacy ServiceWatch application that needs to be discovered and
modeled as a service using Service Mapping.
In the previous labs, you have been given step-by-step instructions to meet specific
requirements. In this lab, you will be given tasks with specific requirements that need to be
met.
Cloud Dimensions has set forth several requirements that are documented as tasks that you
will need to complete. In doing so, you will be validating your Service Mapping skills learned
during this training.
Hint: When discovery is running, it is recommended to move to the next task to understand the
requirements and even start the work required.
Note: For assistance if needed, potential solutions are provided at the end of this lab for your
reference.
Skills tested:
• Create new CI Type
• Configure Debug Mode
• Create new CI Type attribute
• Create and modify new Identification Section
• Assign new icon to CI Type
When first discovering the service, the implementation team notices the ServiceWatch
application displays as a generic application because no Discovery Pattern or CI Type exists in
the baseline Service Mapping application.
The implementation team, is expected to define a dynamic path to the wrapper.conf file
using one of the process variables available.
The Implementation team’s goal is to modify the ServiceWatch Discovery Pattern, by adding
a new step using the Get registry key operation, to obtain the version value from the registry
path provided and display it in the Properties pane as shown.
Task A:
ServiceNow offers an Automated Test Framework that is used in this class to check if records
were created correctly and you met the desired outcome during the lab. Run these tests if
you would like to validate completion of the lab.
Note: If the Run Test windows displays a message of Succeeded 100%, you passed the test and
your lab work has been validated. Nice work!
Lab Objectives
Cloud Dimensions is in the process of installing and configuring a new learning portal to
provide its employees with easy access to all available internal classes.
In this lab, you install and configure the new learning portal, also known as the Moodle
Service.
After installing the new applications that comprise the service, you become inherently the
application subject matter expert and the application owner.
At the end of the lab, you are asked to discover the service using Service Mapping.
Note: The steps to install and configure the IIS web site, Moodle, and MySQL are provided,
however you will be tasked with discovering the service.
Skills tested:
• Discover newly configured service where you are the Subject Matter Expert
2. Click Run.
3. After the License Agreement form displays, at the bottom select the I accept the
license terms checkbox and click Next.
4. From the Choosing a Setup Type form, select Server only and click Next.
8. From the Type and Networking form, modify the Config Type field to Server
Machine, accept the remaining defaults and click Next.
• MySQL Root Password: #_M00dle_ (number sign, under score, capital M, zero,
zero, lower case dle, underscore)
11. From the Windows Service form, accept the defaults and click Next.
1. From the Windows MID Server desktop, click Start > Administrative Tools > Internet
Information Services (IIS) Manager.
2. From the left pane, right-click on Sites and select Add Web Site.
Note: The moodle application files were previously downloaded from the internet and copied to
the wwwroot directory
4. Port: 9090
5. Click OK.
1. From the left pane of the Internet Information Services (IIS) Manager window,
right-click on the newly created mymoodle site.
3. From the Choose a language form, accept the default settings and click Next.
4. From the Confirm paths form, accept the default settings and click Next.
5. From the Choose database driver form, accept the default settings and click Next.
Note: The information entered here is being written to a file called config.php. Discovery could
leverage the settings in this file to potentially identify the application and host connections.
9. From the Server checks form, verify from the bottom of the window, your server
meets all the minimum requirements and then click Continue.
Note: The transition to the next form may take a short time to complete while the tables are
being created.
10. From Installation form, verify the Moodle tables are created successfully and click
Continue.
11. From the Installation General section, complete the form as shown:
• Username: admin
• New password: MyM00dle_ (capital M, lower case y, capital M, zero, zero, lower
case dle, underscore)
• Surname: User
2. From the Navigation pane, click Site home to display the Cloud Dimensions Moodle
Service home page.
Note: A new course is added to the MySQL database that is a critical application that supports
the Moodle Service.
Using Service Mapping, discover the newly installed and configured Moodle service to return
results as shown utilizing the following information:
• From the IIS Virtual Directory discovery pattern, create a new connection section called
IIS Virtual Directory to MySQL
• In IIS Virtual Directory to MySQL connection section create a connection leveraging the
host and port defined in "C:/inetpub/wwwroot/moodle/config.php"
• Update the MySQL Server pattern by creating an extension section to collect the max
connections value from the my.ini file
Note: Take some time to attempt to discover this service without referring to the potential
solution at the end of this lab.
• Variable: host
• Regular Expression: .*dbhost.*'(.*)'
ServiceNow offers an Automated Test Framework that is used in this class to check if records
were created correctly and you met the desired outcome during the lab. Run these tests if
you would like to validate completion of the lab.
Note: If the Run Test windows displays a message of Succeeded 100%, you passed the test and
your lab work has been validated. Nice work!
Lab Objectives
Scenario
Cloud Dimensions has a storefront supported by a service called Presta. Presta has a web
front end with a MySQL Server backend. The service is critical to Cloud Dimension’s monthly
revenue streams.
The implementation team is asked to discover and model the Presta service using Service
Mapping
• Navigate to Self-Service > Knowledge > Training Support Files > Use Case Solution
ServiceNow offers an Automated Test Framework that is used in this class to check if records
were created correctly and you met the desired outcome during the lab. Run these tests if
you would like to validate completion of the lab.
Note: If the Run Test windows displays a message of Succeeded 100%, you passed the test and
your lab work has been validated. Nice work!
During this module, many of the common questions posted here will be answered and made clear
as to how Service Mapping interacts with the CMDB.
The use of multiple sources increases the risk of introducing inconsistencies through duplicate
records. To maintain the integrity of the CMDB, it is important to correctly identify CIs and services
so that new records are created only for CIs that are truly new to the CMDB. Identification and
Reconciliation helps you prevent duplication of CI records, reconcile CI attributes, reclassify CIs, and
allow only authoritative data sources to update the CMDB.
A baseline Kingston instance will contain these default Hardware and Application rules which are
used by Discovery, Service Mapping, and other 3rd party discovery tools to determine if a discovered
CI is inserted or updated in the CMDB. When discovery runs, it will iterate through each of the
hardware rule identifier entries until it finds one complete match with a CI in the CMDB, if no match
is found, a new hardware CI is created.
Datasource Precedence and Reconciliation Definitions can be accessed under the Configuration
menu and are optional platform features and not specific to Discovery or Service Mapping.
After an attribute is updated by an authorized data source, any subsequent updates are accepted
only from the same data source or from a data source with a higher priority (lower order value).
Updates from a data source with a lower priority are rejected. Without datasource precedence
rules, data sources can overwrite each other's modifications. Basically, last update wins.
In this example any update, to a Windows Server Disk Space, coming from ServiceNow Discovery
will take precedence over discovery data coming from Altiris or data coming from an import set.
1. Original Windows Server data is brought in by an Altiris– Record Inserted
2. Same Windows Server is imported by Import Set– Record Updated
3. Same Windows Server is discovered by ServiceNow – Record Updated
4. Same Windows Server is reimported – Record Not Updated
When discovered hardware and applications come into ServiceNow, and duplicate records are
found, the discovery process continues and updates the oldest record (assuming there are less than
5 duplicate records), and a de-duplication task is created. Use de-duplication tasks to track the
duplicate CIs until they can be resolved.
§ The core Configuration Item [cmdb_ci] table, which stores the basic attributes of all the CIs
§ The CI Relationship [cmdb_rel_ci] table, which defines all relationships between CIs
The Configuration Item table is extended to other tables, such as Hardware [cmdb_ci_hardware]
which in turn is extended to Computer [cmdb_ci_computer] and so on.
Each extended table is a class which is groups CIs that share the same attributes and are stored in
their own table. These classifications allow administrators to define the hierarchy of CIs within the
CMDB. It is recommended to keep CI classifications as simple as possible.
The base class that the [cmdb_ci] table extends off of is [cmdb]. This table was introduced a few
releases back, to support a different types of configuration items that ServiceNow customers may
want to populate and track in the CMDB that are not of type hardware or application. Some
customers build their own class structure under the [cmdb] table to populate and track different
types of items such as livestock, manufacturing parts, and microprocessor equipment.
Downgrade
The CI class is updated to a class that is lower in class hierarchy, and the newly assigned class is a
parent of the current class and has less attributes than the current class. For example, reclassifying a
CI from the cmdb_ci_server class to the cmdb_ci_computer class.
The cmdb_ci_server class has attributes that the cmdb_ci_computer class does not have. During the
downgrade, these attributes and their respective values are not included in the new CI record that is
inserted into the cmdb_ci_computer class.
Switch
The newly assigned class is in a different branch in the class hierarchy and has a different set of
attributes than the current class. For example, reclassifying a CI from the cmdb_ci_linux_server class
to the cmdb_ci_win_server class.
Use the following System Property to enable logging of the Identification and Reconciliation engine:
• Name: glide.cmdb.logger.source.identification_engine
• Value: debugVerbose
Lab Objectives
In this section, you learn how ServiceNow handles identification and reconciliation of
hardware CIs that are created or updated in the Hardware [cmdb_ci_hardware] table or any
of its extended tables. The identification rules (CI Identifiers) provide a single point of entry
for creating and updating CIs in the CMDB to assure data integrity.
These rules simplify the way applications such as Discovery, Service Mapping, SCCM, or any
other 3rd party application interacts with the CMDB.
By providing a common API for inserts and updates, the system reduces the probability of
duplicate CIs from different sources.
A. Hardware Reconciliation
In this section, you will learn how ServiceNow handles reconciliation of hardware CIs as they
are created or updated in the CMDB.
2. Search for and open the Identifier record named Hardware Rule.
Note: This rule is used to reconcile any CI that is inserted/updated in the Hardware
[cmdb_ci_hardware] table or any of its extended tables such as Windows Server
[cmdb_ci_win_server].
Note: There are Criterion attributes that must be met for the Identifier Entry to match.
Additionally, there is a priority that is defined which controls which order the Identifier Entries
are tried. For example, the Identifier Entry rule that uses name as the Criterion attribute is tried
third after attempting to match on one of the first two Identifier Entries.
5. Search for and open the record that represents your Windows MID Server.
6. From the main form, add two X’s to the end of the Serial number field value.
Note: Adding the additional characters to the Serial number will prevent the Hardware Rule to
reconcile on rule number 1 and 2, Serial number and Serial number type.
7. Under the Serial Numbers related list, add two X’s to the end of the Serial Number
of type system.
Note: Adding the additional characters to the Serial number prevents the Hardware Rule to
reconcile on rule number 1, Serial number and Serial number type.
15. Under Related Links, click the Refresh UI Action until the State of the Discovery
Status record displays Completed.
16. After Discovery completes, select the Discovery Log tab and note that Rule 3
confirms a Match on the Name attribute.
Note: Rule 1 and 2 which relied on Serial number and Serial Number type, no match was found,
however the third rule found a match on name and the record is updated.
18. Search for and open the record that represents your Windows MID Server.
19. Verify the Serial number fields are updated and the X’s no longer display.
If any of the Hardware Rule Identifier Entries do not find a match, then a new Hardware CI is
created.
From the Configuration > Servers > Windows module, locate your Windows MID Server
record and modify the following fields by adding an x to the end of the existing values:
• From the Windows Server form modify the Name and Serial Number fields
• From the Serial Numbers related list, modify the Serial Number of type system
• From the Network Adapters related list, modify the MAC Address
• Using the Quick Discovery feature, run Discovery against your Windows MID Server and
verify a new Windows Server is created in the CMDB.
Note: A new Hardware CI is created because the Hardware Rule found no match on Name,
Serial Number, Serial Number Type, or MAC Address.
If the instance encounters duplicate CIs during the identification and reconciliation process,
the oldest CI is updated and the newest CI’s Discovery source field is updated with a value of
Duplicate. In addition, ServiceNow groups each set of duplicate CIs into a de-duplication task
for review.
• Before continuing delete your Windows Server record that contains the X in the name
• Open the record for your Windows MID Server and right-click the header and choose
Insert and Stay to create a duplicate CI
• Modify the OS Service Pack to Service Pack 1a
• Save the duplicate CI record just created
• From the Hardware Rule, find the Identifier Entry for serial number, and update the
priority to a value of 50.
Note: This forces discovery to check for a match on Serial Number first where currently two CI’s
exist with the same value.
• Using the Quick Discovery feature, rerun Discovery against your Windows MID Server
• After Discovery completes, navigate to Configuration > Identification/Reconciliation >
De-duplication Tasks and verify a new task is created regarding the duplicate records
found
Note: De-duplication tasks provide information on duplicate CIs and can be used to track
duplicate CIs until they can be resolved. An update still occurs on the oldest duplicate CI based
on created date/time.
Note: Under the Duplicate Audit Results related list, the duplicate CI records display.
2. Notice the newest record of the duplicates has a Discovery source of Duplicate.
3. From the top right of the form, click the Remediate button.
5. From the Select Master CI tab, click All to display both records.
Note: The wizard provides recommendations as to the suggested Master CI based on the
criteria under the Recommendations column.
6. Under the Recommended tab, select the record and click Remediate Manually.
7. From the Merge Attribute Values tab, click the 1 Other Value link to display the two
different values provided for this field.
8. From the OS Service Pack window, click Select to choose the Master CI record’s
value.
9. Click Next.
Note: From the Determine Duplicate CI Actions tab, the administrator has the option to delete
the duplicate CI or set a specific attribute on the duplicate CI to a specified value such as Status
to Retired.
11. From the Determine Duplicate CI Actions tab, select Delete, since it is known this is
a test duplicate CI and is no longer needed to be tracked in the CMDB.
13. From the Review and Confirm tab, review the dashboard for the actions that will
take place.
14. Click Remediate and then Proceed to resolve the duplicate CI.
15. From the middle tile, click Check Progress to view the de-duplication task and verify
it displays a State of Closed Complete.
16. Navigate to Configuration > Servers > Windows and verify only one record exists
that represents your MID Server.
2. Search for and open the record that represents your Windows MID Server.
Note: The Windows Server is currently in the Windows Server [cmdb_ci_win_server] table/class
that is an extended table from Server [cmdb_ci_server] table.
9. Click New.
10. In the Name field enter or paste the value you noted earlier.
11. Save the record to create the Windows Server in a new class.
12. Right-click the header of the new server record and select Show XML.
Note: If you prefer not to write the background script, you can copy and paste the script from
the Training Support Files KB on your student instance.
17. Click Run script and verify the log message UPDATE_WITH_UPGRADE displays.
• After the script runs successfully, verify the Windows Server is reclassified from the
Server [cmdb_ci_server] to a Windows Server [cmdb_ci_win_server] table
Note: You can reference the following system properties from sys_properties.list to configure
system-wide behavior for CI reclassification:
o glide.class.upgrade.enabled
o glide.class.downgrade.enabled
o glide.class.switch.enabled
Note: These properties are set to true by default, enabling automatic re-classification. To
disable automatic CI re-classification, set the respective properties to false.
Lab Objectives
In this section, you learn how ServiceNow handles identification of application CIs that are
created or updated in the Application [cmdb_ci_appl] table or any of its extended tables.
These identification rules simplify and unify the way applications such as Discovery, Service
Mapping, SCCM, or any other 3rd party applications are created or updated within the CMDB.
1. Navigate to EMEA Customer Support Portal map and rediscover the service.
2. After the service is rediscovered, select the Mongoose icon on the map, and from
the properties pane, under the Application section, click Detailed properties.
• Version: 5.4
5. Click Update.
Note: You are simulating that another discovery application updated the record with a different
version.
6. Navigate to EMEA Customer Support Portal map and rediscover the service.
7. After discovery completes, verify the Version and Discovery source fields are
updated to their original values.
Note: This rule is used as a catchall identification rule for any CI that is inserted/updated in the
Application [cmdb_ci_appl] table or any of its extended tables such as Microsoft Web Server
[cmdb_ci_microsoft_iis_web_server] table. In addition, this rule is used if no specific
identification rule is created for a new application class/CI Type.
Note: The Application Rule is used to reconcile applications based on a match for Running
process command, Running process key parameters, and Class. The Allow null attribute is
checked which allows one of the incoming attributes to be blank and still allows for a potential
match with the other Criterion attributes.
Note: The Version collected from the Mongoose Pattern used by Service Mapping is 5.5.
Note: Running process command and Running process key parameters are used by the
Application Rule to determine uniqueness for applications if no other more specific class
Identification Rule is available.
• Save the modifications and rediscover the EMEA Customer Support Portal service
• After the service is discovered navigate to Configuration > Applications and verify two
Mongoose Web Server applications exist
Note: The Application Rule did not find a match based on the Identifier Entries and therefore
created a new Mongoose Application.
Note: Before continuing, delete the Mongoose record that contains version 5.4.
3. Modify the Running process command and Running process key parameter fields as
shown:
4. Click Update.
Note: The Application Rule will now fail if used, as it would not find a match on these fields, if
discovery is executed again against the EMEA Customer Service Portal.
6. Click New.
• Independent: unchecked
Note: You have created a specific more granular Mongoose identification rule that will be tried
prior to the Application Rule. This rule will try to match on Name, Class, and Version. If it finds
no match, it will fall back on the parent rule which is the Application Rule looked at previously.
Recall there is one discovered Mongoose Web Server application that has its Running
process command and parameters field modified which created duplicates in the previous
example.
• Verify the discovered Mongoose Web Server application reconciles with the current one
in the CMDB based on the new CD Mongoose identification rule by verifying that the
Running process command and parameters fields are updated with the correct values
and the x’s are removed
• Navigate to Configuration > Applications and confirm there is only one Mongoose Web
Server record in the Applications table and no duplicate was created
Service Mapping moves the CMDB into the next strategic level by proving a targeted mapping of the
IT components that support the operational state of a service. The CMDB is transformed from an
inventory to a service aware dependency map.
Event Management collaborates with existing monitoring systems to provide a real-time state of the
IT infrastructure. The application processes infrastructure events and through a combination of
event mapping and alert rules, events are processed and are converted and consolidated into
significant Alerts for investigation and remediation.
ServiceNow Orchestration provides the final piece of the jigsaw. Through the use of workflow, MID
Server, and network processing technologies, Orchestration can provide automated investigation
and remediation on IT systems.
Services discovered and modeled by Service Mapping can be monitored by 3rd party monitoring
tools to gage overall service health.
An alert can be linked to an incident. This link can be created automatically by an alert rule using a
task template, or can manually be created with the Create Incident button.
Event Management is a separate licensed product or can be purchased as part of one of the
bundles. The Event Management plugin must be enabled which allows IT operation administrators
to combine multiple event sources from monitoring tools such as Icinga, Nagios, or SolarWinds into
a single management console.
The Event Management Overview can be configured to display key reports on the state of services,
alert analysis by service and/or configuration item.
2. Rules
Lab Objectives
Cloud Dimensions has applications that are clustered to provide high availability on their
critical service called Americas Calendar service. Cloud Dimensions wants to understand how
adding an Event Management license to their ServiceNow Service Mapping implementation
would compliment the functionality they have already invested in.
In addition, they want to further understand the value Service Mapping brings to their overall
incident process and how to view changes to their services.
In this lab, you generate events against one of the CIs that make up this service, work an
incident for the service, and view changes to the service.
Note: The dashboard only displays approved services. Note that the Event Management license
must be purchased, and the Event Management plugin must be enabled to view the Event
Management application, the dashboard and the other Event Management modules.
3. From the Approve tile, locate the Americas Calendar Portal and go through the
approval process for the service, as learned in an earlier module.
Note: Once a service is approved, the Operational status is changed to Operational and the
service is added to the Event Management Dashboard.
Note: The service map from the perspective of Event Management loads. This map is similar to
that of Service Mapping, but the surrounding buttons and related lists differ.
B. Generate an Event
In this section, you generate an event against the HA Proxy server that is a critical CI of the
Americas Calendar Portal.
Note: This is a non-baseline application that is available as an update set. The Event Generator
allows you to quickly simulate an event into ServiceNow.
• Source: EventSimulator
• Node: ip-198-51-100-167
• Type: EventGen
• Severity: Critical
• Classification: IT
Note: If a pop-up window is presented from the browser, click Leave as changes do not need to
be saved.
Note: An event should appear shortly with the Source of EventSimulator. It may be necessary to
refresh the list.
5. From the Events list, search and open the event record, with a source of
EventSimulator, to view the details.
6. From the Alert field, click the reference icon to open the Alert record.
Note: The Alert details appear which includes the Configuration item affected.
7. Navigate to Event Management > Overview to view multiple charts around alerts
opened and configuration items and services affected.
Note: The Event Management Overview dashboard automatically refreshes every 15 seconds.
Note: The Americas Calendar Portal appears in red indicating there is a critical alert affecting
the service.
9. From the Dashboard, double-click the Americas Calendar Portal to view the map.
Note: A red line appears below the HA Proxy indicating something is wrong with this CI.
10. From the Alert related list, the alert affecting the service displays.
12. From the service map, note the Alert displays below the map, when the HA Proxy CI
is selected, but no indicator for an incident displays as no incident was automatically
generated based on the alert.
Note: Visibility around the root cause of the criticality is seen based on the red associated with
the HA Proxy.
2. Click New.
NOTE: A new incident for alerts generated for high memory usage is created.
2. Locate the EventSimulator event, and modify the State to Ready in order for the
event to be reprocessed by the Event and Alert Rules.
Note: In a test environment, this is a simple method to reprocess an event versus having to
regenerate it again. If for some reason the event does not get reprocessed, it will be necessary
to regenerate the event as you did earlier. If the incident is not being created, delete the alert
record. You must first change the State to Closed, then delete it and lastly regenerate the event.
3. After the event is Processed, click the Alert number to open the Alert form.
Note: The Alert should now have a reference to a task (incident) record that was automatically
opened. If no incident is referenced, verify your Alert Action Rule is set up as described. If the
Alert Action Rule is correct, try closing the existing alert and reprocess the event or delete the
event and regenerate it by executing the .bat file from your remote Windows server.
Note: The task/incident record created contains all the details configured earlier in the Task
Template.
5. From the Configuration item field, click the Reference icon to open the referenced
record.
Note: The Linux Server record opens and it can be determined that the server only has 3,952 Mb
of RAM.
7. From the Configuration item field, click the Open in Dependency Views icon to
open the Dependency View map.
Note: The Linux Server displays additional icons on the map to provide visibility associated with
the new incident record.
8. From the upper right, select Map Settings and under Max Levels, change the value
to 1 and then click Apply to view the effect.
11. Turn off all Map Indicators except for Alerts and Incident.
12. From the upper-right, click Details to display tabs that show active Alerts and
Incidents associated with the CI.
13. Click the Related Services tab to provide visibility to the technician that the CI is a
critical server that supports the company’s Americas Calendar Portal.
14. From the Related Service related list, select the Americas Calendar Portal to
highlight all the CI’s that comprise this service.
Note: Visibility to service and the CIs supporting the service are available from the Dependency
View map.
16. Change the Impact and Urgency fields to 1 – High as it is clear that this is a server
that supports a critical service and must be prioritized higher than originally
determined.
18. In the Work notes field, enter This is a critical server that supports the Americas
Calendar Portal, please upgrade RAM to 8GBs and click Post.
20. From the bottom of the Incident form, notice the Priority 3 SLA is automatically
cancelled and a new Priority 1 SLA is started, and the elapsed time is carried over
from the initial SLA.
E. Create a Change
It has been determined that the Linux Server needs to have more RAM installed. Typically, a
change record would be created. To save time, you assume the change went through the
proper approval process and RAM was updated to 8GB. From a services visibility perspective,
Service Mapping provides a Time Line of all changes to a service and all of it supporting CIs.
2. Search for and open the Linux Server record named ip-198-51-100-167.
4. Click Update.
5. Navigate to Service Mapping > Services > Application Services and open the service
map for the Americas Calendar Portal and select the HA Proxy icon.
6. Notice from the Changes tab, all changes affecting this CI display including the
recent change to the server CI.
7. From the map, click anywhere in the white space to deselect HA Proxy.
9. From the Timeline of CI Changes, notice the markers which indicate some sort of
change has taken place.
10. Hover over the last marker that should reflect the most recent change.
Note: If a pop-up blocker prevents access to the new tab, allow pop-ups from this web site.
15. Select the HA Proxy icon, and from the Properties pane, view the change that took
place between the two compare points, which should reflect the update on RAM on
the server CI.
16. After viewing the Comparison information, close the Comparison view tab.
18. From the Linux Servers list, open the ip-198-51-100-167 record.
19. From the Linux Server Additional action menu, explore each of the History options
to view the changes to the CI including the recent change to memory.
Note: A list of changes and comparison data is available both from the service map and the
CMDB.
2. Review the default property settings for actions when an alert is closed or an
incident is resolved.
6. From the Resolution Information tab, set the Resolution code to Solved
(Permanently).
8. Click Update.
Note: The Americas Calendar Portal now displays in green representing no alerts.
Lab Objectives
You will achieve the following objectives:
• Create a flow that creates an incident when a map fails to complete and generates an
error message
• Test the flow by forcing an error and viewing the incident record created
Scenario
Cloud Dimensions is happy with their Service Mapping and Event Management
implementation and can easily view the service health of their services from a single
dashboard. However, Cloud Dimensions is also interested in implementing an incident process
when map errors occur.
In this lab, you implement this requirement utilizing the Flow Designer to automatically
generate an incident record based on map errors.
Note: The Automation Error Messages list displays all Service Mapping and Discovery errors.
The Source application column defines which application generated the error.
8. From the Flow Properties form, in the Name field, enter SM Mapping Error.
9. Click Submit.
13. Select Click to add an Action, Flow Logic, or Subflow then Action.
• Fields:
o Impact | 2 – Medium
o Category | Software
o Short description | Trigger > Service Discovery Messages Record > Message
Note: You have successfully configured a flow to trigger when an error message is created in
the Service Discovery Message table with a Source application of Service Mapping. The resulting
action is to open an incident with an Impact of Medium, Category of Software, and the Short
description dynamically contains the error message text.
1. Navigate to Service Mapping > Services > Application Services and open the
Americas Stock Trader map
6. Search for and open the most recently opened incident which should have been
opened as a result of the mapping error created as a result of the new flow
configured.
7. Note the preconfigured values for Impact and Software including the dynamic text
in the Short Description field.
4810 Eastgate Mall, San Diego, CA 92121, USA • (858) 720-0477 • (858) 720-0479 • www.servicenow.com