How are processes tracked?

To view the processes running on an individual host, select Hosts from the navigation menu and then click the host you want to analyze.

Within the Processes section of the Host page, you’ll see the most important processes running on this host, categorized into process group instances (see image below). Dynatrace uses domain knowledge to detect the different process types and consolidate them in a meaningful way.

A “process group” is a set of processes that perform the same function across multiple hosts. For example, you might have a cluster of servers with each server running the same process in support of multiple hosts.

Which are the most important processes?

The most important processes are of the following types:

  1. Java application servers (Tomcat, Websphere, Weblogic, Glassfish, Jboss)
  2. All other Java applications
  3. All .NET applications
  4. Databases: MS SQL, Oracle, Mysql, Cassandra, SQL server, CoucheDB, MongoDB, Postgres
  5. Additional technologies: Node.js, PHP
  6. Web servers: Apache, IIS
  7. Processes that are not on the system process list but have an open TCP listening port
  8. Processes for which one of the following conditions is met for at least 3 of the last 5 one-minute intervals: Avg(CPU) > 5%, or Max(Memory) > 5%, or Network Traffic > 5%.

However, you can click the All processes button (see image above) to view the complete list of processes along with related performance charts.

Why does Dynatrace not show worker processes?

If you run Apache HTTP Server, for example, you may be accustomed to seeing long lists of worker processes (see example below). Here you see numerous Apache HTTP Server processes listed on a Linux terminal. For the sake of clarity and manageability however, Dynatrace consolidates such lists into process group instances. We do this across hosts but also on individual hosts.

Analyzing processes

From any Host page you can view a list of the processes that contribute to each host health metric (for example, Memory in the image below).

You can click the Consuming processes button to view the list of the processes that contributed to the selected health metric.

Once you’ve displayed the contributing processes list, click any process to explore that process in detail on a dedicated Process page. On each process page you’ll find process-specific statistics related to CPU consumption, memory consumption, network utilization (see image below), and other infrastructure measurements. You’ll also find details regarding related events, problems, and dependencies.

Process availability

Apart from recording events, like process shutdowns and restarts, Dynatrace also shows process crashes. This is especially important for service availability monitoring. Services inherit their availability from the processes they run on. Dynatrace considers a service to be offline when the entire process group it runs on is unavailable. This can occur when a process is shutdown or crashes (see image below).

Dynatrace allows you to distinguish between services that are available, but receive no traffic, and services that are unavailable because the underlying processes have stopped or crashed. In the case of a crashed process, Dynatrace monitors the crash and informs you about the impact of the crash on your services and applications (see image below).