Application Dependency Mapping (ADM) for Discovery

Application Dependency Mapping (ADM) creates relationships between interdependent applications.

ADM identifies:
  • The devices that are communicating with one another.
  • The TCP ports these devices are communicating on.
  • The processes that are running on these devices.

For example, if a web server application uses a database server application, the web server "depends on" the database. The web server also "runs on" the host or server cluster. You can use the data from running processes to determine which devices to drill into to see more application-specific configuration data.

You can disable ADM and use the ADM probes and sensor to collect active connections and active process information without collecting all the Application Dependency Mapping information.

Discovery ADM probes and sensors

ADM uses the following probes:
Table 1. ADM Probes
Name Probe Type Description Includes Probes
AIX - ADM Multiprobe Queries for information about active (running) AIX processes and active connections - the information required to perform application dependency mapping.
  • AIX - Active Connections
  • AIX - Active Processes
HP-UX - ADM Multiprobe Queries for information about active (running) HP-UX processes and active connections - the information required to perform application dependency mapping.

This probe requires that lsof be installed and the UNIX - Active Connections probe be activated, which is inactive by default.

  • UNIX - Active Connections
  • HP-UX - Active Processes
Solaris - ADM Multiprobe Queries for information about active (running) Solaris processes and active connections - the information required to perform application dependency mapping. This probe is triggered by the Solaris Zones probe. The system triggers an ADM probe for each local zone contained in a global zone.

This probe requires that lsof be installed on the global zone.

Solaris - Active Processes

Solaris - Active Connections

UNIX - ADM Multiprobe Queries for information about active (running) UNIX processes and active connections - the information required to perform application dependency mapping.
  • UNIX - Active Connections
  • UNIX - Active Processes
Windows - ADM Multiprobe Queries for information about active (running) Windows processes and active connections - the information required to perform application dependency mapping.
  • Windows - Active Connections
  • Windows - Active Processes
ADM uses the following sensors:
Table 2. ADM Sensors
Name Sensor Type Description Responds to Probes Probes
AIX - ADM Javascript Updates the running processes and active connections, and runs application dependency mapping.
  • UNIX - Active Connections
  • AIX - Active Processes
HP-UX - ADM Javascript Updates the running HP-UX processes and active connections, and runs application dependency mapping. This sensor requires that lsof be installed.
  • UNIX - Active Connections
  • HP-UX - Active Processes
Solaris - ADM Javascript Updates the running Solaris processes and active connections, and runs application dependency mapping. This sensor requires that lsof be installed.
  • Solaris - Active Processes
  • Solaris - Active Connections
UNIX - ADM Javascript Updates the running Unix processes and active connections, and runs application dependency mapping.
  • UNIX - Active Connections
  • UNIX - Active Processes
Windows - ADM Javascript Updates the running Windows processes and active connections, and runs application dependency mapping.
  • Windows - Active Connections
  • Windows - Active Processes

Requirements for ADM

Your instance must meet the following requirements to use application dependency mapping:
  • The glide.discovery.application_mapping Discovery property is enabled.
  • ADM probes are configured.
  • Process classifiers are configured.

Relationships and dependencies

In our example relationship, if the virtual server sannnm-01 crashes, the database instances and the web server upstream are adversely affected. Likewise, if the web server fails, the web site hosted on it goes down. The CI record for the virtualized Windows server sannnm-01 with its upstream and downstream relationships is shown below. The downstream relationships show that this server is virtualized by VMware running on a Windows server named sandb01. Our upstream relationships show a MySQL instance, a SQL instance, and a web server running on sannnm-01. Farther upstream, a web site is hosted on the web server.
Figure 1. Upstream and Downstream Relationships

When you delete a CI from the CMDB, ServiceNow also deletes all relationships with that CI.

Deleting a CI affects references to the CI in Incidents, Problems and Changes. In some situation, it might be preferable to block a CI by setting the install_status or hardware_status attributes to retired, without deleting the CI.

In the following example, the three JBoss application servers on three different physical machines have a TCP connection to the local Apache application on www.online1.com. Additionally, there are five Apache web servers using the local JBoss application.
Figure 2. JBoss application dependency example