Home / Keptn v1 Docs / Release 0.13.x / Monitoring / Dynatrace / Best Practices
The created tagging rules in Dynatrace expect the environment variable DT_CUSTOM_PROP
for your onboarded service. Consequently, make sure to specify the environment variable for deployment in the Helm chart of the service you are going to onboard with the following value:
env:
- name: DT_CUSTOM_PROP
value: "keptn_project={{ .Values.keptn.project }} keptn_service={{ .Values.keptn.service }} keptn_stage={{ .Values.keptn.stage }} keptn_deployment={{ .Values.keptn.deployment }}"
You can specify Kubernetes labels in the deployment definition of your application. Dynatrace automatically detects all labels attached to pods at application deployment time. All you have to do is grant sufficient privileges to the pods that allow for reading the metadata from the Kubernetes REST API endpoint.
Please follow the official Dynatrace documentation to grant viewer role to service accounts.
If you want to automatically detect the Kubernetes labels for Keptn, grant the viewer role to the keptn-default
service account:
kubectl -n keptn create rolebinding default-view --clusterrole=view --serviceaccount=keptn:keptn-default
As a result, Dynatrace will add the recommended Kubernetes labels to the processes, e.g.:
When using Keptn for automating operations, e.g., to trigger remediation actions to resolve a problem identified by Dynatrace, it is recommended to disable the Frequent Issue Detection within Dynatrace. If this feature is disabled, Dynatrace sends brand new alerts every time a problem is detected. To disable it, go to Settings > Anomaly Detection > Frequent Issue Detection, and toggle all switches found in this menu:
While it is not a technical requirement, we encourage you to set up a process group naming rule within Dynatrace for better visibility of services, e.g.:
Screenshot shows the applied rules in action
To configure this rule, follow these steps:
Keptn Processgroup Naming
{ProcessGroup:Environment:keptn_project}.{ProcessGroup:Environment:keptn_stage}.{ProcessGroup:Environment:keptn_service} [{ProcessGroup:Environment:keptn_deployment}]
keptn_deployment (Environment)
> exists
Screenshot shows this rule definition.
The dynatrace-service in Keptn will take care of pushing events of the Keptn workflow to the artifacts that have been onboarded. For example, the deployment and custom infos - like starting and finishing of tests - will appear in the details screen of your services in your Dynatrace tenant.