Monitor application dependencies in SAM

SAM's Application Dependencies feature provides a holistic view of application and server connections, expanding monitoring by detecting how applications and nodes interact with each other.

You can use data gathered during Application Dependencies polling to:

  • Understand which applications, application processes, and nodes connect with each another.
  • Ensure that the most important data for specific applications is monitored.
  • Identify unmonitored applications and processes that require attention.
  • Leverage latency and packet loss metrics to determine if an issue is caused by an application or the network.

This contextual visibility of relationships between applications and physical/virtual servers also reduces troubleshooting time. For example, instead of searching through many applications, nodes, and component monitors to determine why an application is slow, you can navigate to the Application Connections widget and analyze application dependencies to pinpoint the source of the issue.

To provide a more granular picture of application dependencies, the Connection Details page shows processes and ports for connections, plus node, application, process status, and (if Connection Quality polling is enabled) latency and packet loss statistics. The Connection Details page shows the entire communication stack from one node to another, which makes it a unique troubleshooting tool.

With the Application Dependencies feature, you can see where and how servers communicate with each other without contacting various teams to get information. You can use this feature to identify established connections and provide perspectives into the connections themselves.

Watch this video to learn about monitoring and troubleshooting application dependencies.

For troubleshooting, application dependencies can help you determine if performance issues in an application are due to a server on one side or the other, or if issues are related to the actual communication between the two servers.

Application dependencies polling overview

SAM uses two types of polling to collect application dependency data:

  • Application Dependency polling discovers and monitors the following types of connections:
    • Application to application, in a typical client/server process monitored by SAM
    • Application to node, with a server process not currently monitored by SAM
    • Node to application, with a client application process not monitored by SAM
  • Connection Quality polling tracks TCP communication traveling from client nodes hosting applications to target nodes. This synthetic polling collects latency and packet loss statistics for connections without intercepting network traffic, also known as "packet sniffing."

To learn more, see Manage polling for application dependencies.

How SAM uses Orion agents to monitor application dependencies

SAM uses Orion agents to flag nodes for Application Dependency polling. An agent must exist on at least one of the two nodes for which you want to display dependencies. If a node does not host an agent, the Application Connections widget displays sample data, as shown here.

Agent plug-in overview

The Orion Platform deploys and removes agent plug-ins as you enable and disable features in the Orion Web Console. A single agent-managed node may include multiple plug-ins to handle different tasks such as polling.

To support the Application Dependencies feature, SAM deploys agent plug-ins to nodes to monitor connections and network communications, then displays data on the Application Connections widget and Connection Details page.

To avoid having to update agent-plug-ins manually, make sure the Allow Automatic Agent Updates option is enabled on the Agent Settings page.

For Application Dependency polling:

  • SAM deploys agent plug-ins to nodes if Application Dependency polling detects application-to-application or application-to-node connections.
  • Agent plug-ins collect data about dependencies between applications (application-to-application connections) and/or nodes (application-to-node connections). It is available in Linux x64, Linux x86, and Windows versions.
  • To avoid performance issues, SAM does not deploy Application Dependencies plug-ins to the Main Polling Engine (that is, the Orion server).

For Connection Quality polling, if enabled:

  • SAM deploys additional agent plug-ins to collect TCP latency and packet loss metrics.
  • For Windows nodes connected to clients that host applications and application processes, TCP agent plug-ins include an Npcap driver to support Nping.

SAM relies on server-initiated communications to detect "from” or to" nodes, also called “passive agents” or “agentless" nodes. Only one node in a pair requires an agent plug-in. However, note that data gathered by polling depends on communication settings for both nodes, as described here:

  • If target and client nodes both host agent plug-ins, SAM collects data via Application Dependency and Connection Quality polling for both nodes.
  • If only the target node has an agent plug-in, SAM collects IP address and port data for the client node but not application details, process names, or connection statistics.
  • If only the client node has an agent plug-in, SAM collects IP address and port data for the server node. If Connection Quality polling is enabled and SAM deployed a TCP agent plug-in to the connection source node, polling can capture latency and packet loss statistics.

Use the Manage Agents page to check the status of agent plug-ins.

To start monitoring connections between applications and nodes, configure the Application Dependencies feature, as described next.

See also:

Want an application-centric perspective of database performance? Consider integrating SAM with SolarWinds Database Performance Analyzer (DPA.)