A process group is a logical cluster of processes running on separate hosts that belong to the same application or deployment unit. For example, you might have a cluster of server nodes where each node runs the same process in support of multiple hosts. Such related processes comprise a process group. Process-groups are key building blocks of most modern web-based application environments.

Dynatrace process group detection

Dynatrace automatically detects process types such as Tomcat, JBoss, Apache web server, MongoDB, and many others. Technologies in your environment such as Docker, Kubernetes, OpenShift, Cloud Foundry, or Azure are also detected and monitored automatically. Because process groups remain relatively constant even as new deployments and versions are rolled out, process groups also provide a necessary continuity that enables long-term monitoring of your environment as it evolves over time.

While this approach to process detection has worked well in most cases, it hasn’t been perfect. Most importantly it doesn’t account for customer-specific naming schemes or deployment layouts. To accommodate such environment-specific details, we enabled the usage of Java system properties and environment variables in support of customized process group detection. However, in some cases, even this approach has been inadequate in some instances. This is why we’ve extended Dynatrace process group detection and made it more powerful and easier to use than ever.

Property-based process group detection rules

Dynatrace gathers a lot of domain knowledge about the processes it monitors. This domain knowledge can now be leveraged for enhanced process-group detection in your environment.

To add a process-group detection rule

  1. Go to Settings > Monitoring overview > Process group detection.
    Any pre-existing process-group detection rules are listed at the bottom of this page.
  2. Click the Add detection rule button and select the process type you want to monitor from the Select process type drop list.
  3. From the drop list, select the type of rule you want to define. In addition to the pre-existing Java system property and environment variable options, a process property option is now also available here. 
  4. This enhancement enables you to define process-group detection rules that are based on process properties.

Process-group detection rule example

Now let’s consider an example. Say you have a process group with multiple processes. Each process concurrently performs the same function for different customers who are using your application at the same time. While each process instance has the same name, each instance runs off a unique customer-specific configuration that Dynatrace doesn’t have information about. Dynatrace, therefore, aggregates all related processes into a single process group to facilitate monitoring. For instances where such grouping is inadequate, you now have the option of defining process-group detection rules that consider customer-specific details. Such detail can be gleaned from your unique deployment scheme. If you have a directory structure that includes a customer ID (for example,

For instances where such aggregate process grouping is inadequate, you now have the option of defining process-group detection rules that take customer-specific details into consideration. Such detail can typically be gleaned from your unique deployment scheme. If you have a directory structure that includes a customer ID (for example, /opt/MyCustomerBasedApp/<CustomerId>/Service/MyService), and the directory structure is the same across all your hosts, you can create a customer-specific process-group detection rule that works across all process instances.

The example rule depicted below applies to processes with executable paths that contain the phrase MyCustomerBasedApp. For processes that match this requirement, the string between /MyCustomerBasedApp/ and /Service in the Executable path is extracted and used to uniquely identify each process instance.

While this is a simple example of how to make use of enhanced process group detection rules, Dynatrace enables you to work with many other properties as well for process group detection. Not all processes have the same set of properties, however.

To find out which properties are available in a process

  1. Select Technologies from the navigation menu.
  2. Select the process group that you’re interested in and select a specific process
  3. Expand the Properties and tags pane to view the available properties.

Following is the complete list of process properties that Dynatrace can use for developing process-group detection rules.

Process properties

  • Apache config path
  • Apache spark master ip address
  • Catalina base
  • Catalina home
  • Cloud Foundry application name
  • Cloud Foundry instance index
  • Cloud Foundry space ID
  • Cloud Foundry space name
  • Coldfusion jvm config file
  • Coldfusion service name
  • Docker container name
  • Docker image name
  • Dotnet command
  • Dynatrace custom cluster ID
  • Dynatrace custom node ID
  • Elastic search cluster name
  • Elastic search node name
  • Executable 
  • Executable path
  • GlassFish domain name
  • GlassFish instance name
  • IIS app pool
  • IIS role name
  • Java jar file
  • Java jar path
  • Java main class
  • Jboss home
  • Jboss mode
  • Jboss server name
  • Kubernetes base pod name
  • Kubernetes container name
  • Kubernetes full pod name
  • Kubernetes namespace
  • Kubernetes pod uid
  • Nodejs app name
  • Nodejs script name
  • Weblogic home
  • Weblogic name
  • Webshpere cell name
  • Webshpere cluster name
  • Websphere node name
  • Websphere server name

OneAgent version

Please note that enhanced process-group detection rules are available with OneAgent version 123 and higher.