Dynatrace automatically detects and names your applications’ server-side services based on basic properties of your application deployment and configuration. Built-in rules define these names. These properties and the resulting service names should be intuitive to you because they reflect your service landscape. Still, you might want to customize these names. Custom service naming rules enable you to enhance automated service naming.
Built-in service naming rules define how the service naming works out of the box. Built-in rules are not configurable. You can still access them for documentation purposes. Go to Settings > Server-side service monitoring > Service naming rules and scroll to the Built-in rules section. Here you can expand every rule to see how is it configured.
Custom service naming rules override built-in rules enabling you to create your own naming standards. To access custom rules, go to Settings > Server-side service monitoring > Service naming rules.
Custom rules are evaluated from top to bottom, and the first matching rule applies, so be sure to place your rule in the correct position on the list.
To define a custom service naming rule
If within the name format you reference a property that doesn’t exist in a service that the rule applies to, the placeholder will be replaced with an empty string. You can ensure that the rule only applies to services where the property exists by adding an exists
condition for the desired property.
Service name format enable you to build complex naming standards for the services in your environment. You can use placeholders to build a name based on service properties. Placeholders will be replaced with actual values in the service name. In case the provided value is missing, the placeholder will resolve to an empty string. Place your cursor in the Service name format input field to see the list of available placeholders.
You can use regular expressions to extract portions of the service name, created by a built-in rule. Add the regex before the closing curly bracket }
of the placeholder. For example, for {ProcessGroup:DetectedName}
use {ProcessGroup:DetectedName/REGEX}
.