Dynatrace

Overview

Dynatrace is a monitoring and observability platform. Integrate Dynatrace with Cortex to get insights into application performance, service discovery, SLOs, and dependencies.

How to configure Dynatrace with Cortex

Prerequisite

Before getting started, generate an access token in Dynatrace with the scopes Read entities and Read SLO.

Configure the integration in Cortex

  1. In Cortex, navigate to the Dynatrace settings page:

    1. In Cortex, click your avatar in the lower left corner, then click Settings.

    2. Under "Integrations", click Dynatrace.

  2. Click Add configuration.

  3. Configure the Dynatrace integration form:

    • Domain: Enter your Dynatrace domain necessary to access your environment, depending on whether you use managed, SaaS, or the Environment ActiveGate version.

    • *API token: Enter the access token you generated in Dynatrace.

  4. Click Save.

If you’ve set everything up correctly, you’ll see the option to Remove Integration in settings.

You can also use the Test configuration button to confirm that the configuration was successful. If your configuration is valid, you’ll see a banner that says “Configuration is valid. If you see issues, please see documentation or reach out to Cortex support.”

How to connect Cortex entities to Dynatrace

Import entities from Dynatrace

See the Create services documentation for instructions on importing entities.

Editing the entity Entity descriptor

Entity ID

Entities with a type of "SERVICE" will be discovered and surfaced. When using the Dynatrace portal, service IDs can be found in the URL of a selected service under the id query param. For example, https://.live.dynatrace.com/#newservices/serviceOverview;id=

x-cortex-apm:
  dynatrace:
    entityIds:
      - mock-service-id-1
      - mock-service-id-2

Entity name

You can also match entities based on matching display names with a regular expression, like:

x-cortex-apm:
  dynatrace:
    entityNameMatchers:
      - "foo.*"

Linking SLOs in Cortex

Dynatrace supports service-level objective (SLO) monitoring. You can link these SLOs to your Dynatrace entity in Cortex:

  1. In Dynatrace, navigate to the Service-Level Objectives app.

    • On the left sidebar of Dynatrace, click Search, then type in slo to find the app.

  2. On the SLOs page, see the list of SLOs. On the right side of an SLO, click ^ to expand the Details.

  3. In your browser's URL bar, locate the ID in the URL. Copy the ID and store it in a secure location, as you will need this value in the next steps.

    • The ID is displayed in the URL following sloexp=. For example, https://.apps.dynatrace.com/ui/.../sloexp=&slovis=

    • On the SLOs page, expand the details for each SLO to display the SLO ID in the URL.

  4. Open your Cortex home page, then navigate to the service you are configuring.

  5. In the upper right corner of the service page, click Switch to YAML.

  6. Paste in the following text, making sure to replace slo-id-1 and slo-id-2 with the SLO IDs you obtained from the Dynatrace URL in the previous steps:

x-cortex-slos:
  dynatrace:
    - id: slo-id-1
    - id: slo-id-2
  1. At the bottom of the page, click Save.

After saving, navigate back to your service details page to view the SLO status in the service's Overview tab.

For information on working with SLOs in Dynatrace, see Dynatrace's documentation.

Dependencies

Cortex automatically syncs dependencies from Dynatrace using attributes inherent to each entity.

Discovery audit

Cortex will pull recent changes from your Dynatrace instance into the discovered entities list. Here, you can find new entities in Dynatrace that have not been imported into the catalog - these will have the tag New APM resource - as well as entities in the catalog that no longer exist in Dynatrace - these will have the tag APM resource not detected.

Expected results

Entity pages

With the Dynatrace integration, you'll see SLOs on an entity's home page. High-level information about SLOs appears in the Overview tab.

Click Monitoring in the entity's sidebar to see more detailed data: the SLO name, its target, the current value for that entity, and the period of time the SLO is being calculated for. For example, if the time listed is "7 days ago," then the SLO is looking at the time range starting 7 days ago to now.

Relationship graphs

Dependencies detected from Dynatrace will appear in Relationship graphs.

Scorecards and CQL

With the Dynatrace integration, you can create Scorecard rules and write CQL queries based on Dynatrace SLOs.

See more examples in the CQL Explorer in Cortex.

SLOs

SLOs associated with a given entity via ID or tags. You can use these data to check whether an entity has SLOs associated with it and if those SLOs are passing.

  • History

  • ID

  • Name

  • Operation

  • Remaining budget

  • SLI value

    • Datum

    • Timeseries

  • SLO target

  • Source

  • Thresholds

    • Name

    • Threshold

Definition: slos()

Examples

For a Scorecard focused on operational maturity, this expression can be used to make sure an entity has associated SLOs in Dynatrace:

slos().length > 0

This rule checks that there is at least one SLO is set up. While this rule makes sense in a Scorecard's first level, a rule checking the status of the SLO would make sense in a higher level:

slos().all((slo) => slo.passing)

Entities will pass this rule if all SLOs associated with it have "passing" status.

Background sync

Cortex conducts a background sync of Dynatrace entities at 7 a.m. UTC and a dependency sync every day at 12 a.m. UTC.

Last updated

Was this helpful?