Setup Dynatrace

In order to evaluate the quality gates, we have to set up monitoring to provide the needed data.

Setup Dynatrace

  1. Get your Dynatrace Tenant

    If you don’t have a Dynatrace tenant yet, sign up for a free trial or a developer account.

  2. Create a Dynatrace API Token

    Log in to your Dynatrace tenant, and go to Settings > Integration > Dynatrace API. Then, create a new API Token with the following permissions:

    • Access problem and event feed, metrics and topology
    • Access logs
    • Configure maintenance windows
    • Read configuration
    • Write configuration
    • Capture request data
    • Real user monitoring JavaScript tag management
    Dynatrace API token
  3. Create a Dynatrace PaaS Token

    In your Dynatrace tenant, go to Settings > Integration > Platform as a Service, and create a new PaaS Token.

  4. Start the following script:

    $ ./defineDynatraceCredentials.sh
    
  5. Execute the installation script:

    $ ./deployDynatrace.sh
    

When this script is finished, the Dynatrace OneAgent will be deployed in your cluster.

Note: To see the services running in your cluster, make sure to restart the pods they are running in.

Note 2: If the nodes in your cluster run on Container-Optimized OS (cos), make sure to follow the instructions for setting up the Dynatrace OneAgent Operator. This means that after the initial setup with deployDynatrace.sh, which is a step below, the cr.yml has to be edited and applied again. In addition, all pods have to be restarted.

Configure Jenkins

  1. Go to Jenkins at http://jenkins.keptn.<EXTERNAL_IP>.xip.io/ and login with the credentials admin / AiTx4u8VyUV8tCKk or with the updated credentials you set after the installation. You can retrieve the external ip with the following command:

    $ kubectl get svc istio-ingressgateway -n istio-system
    
  2. Navigate to Jenkins > Manage Jenkins > Configure System, scroll to the environment variables and enter the Dynatrace tenant URL and Dynatrace API token.

    Jenkins environment variables

(Optional) Create process group naming rule in Dynatrace

  1. Create a naming rule for process groups

    1. Go to Settings, Process and containers, and click on Process group naming.
    2. Create a new process group naming rule with Add new rule.
    3. Edit that rule:
      • Rule name: Container.Namespace
      • Process group name format: {ProcessGroup:KubernetesContainerName}.{ProcessGroup:KubernetesNamespace}
      • Condition: Kubernetes namespace> exists
    4. Click on Preview and Save.

    Screenshot shows this rule definition.

    Dynatrace naming rule