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
- Go to Settings > Monitoring overview > Process group detection.
Any pre-existing process-group detection rules are listed at the bottom of this page.
- Click the Add detection rule button and select the process type you want to monitor from the Select process type drop list.
- 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.
- 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
/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
- Select Technologies from the navigation menu.
- Select the process group that you’re interested in and select a specific process
- 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.
Apache config path
Apache spark master ip address
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
Dynatrace custom cluster ID
Dynatrace custom node ID
Elastic search cluster name
Elastic search node name
GlassFish domain name
GlassFish instance name
IIS app pool
IIS role name
Java jar file
Java jar path
Java main class
Jboss server name
Kubernetes base pod name
Kubernetes container name
Kubernetes full pod name
Kubernetes pod uid
Nodejs app name
Nodejs script name
Webshpere cell name
Webshpere cluster name
Websphere node name
Websphere server name
Please note that enhanced process-group detection rules are available with OneAgent version 123 and higher.