Skip to main content

Dynatrace

CatalogDiscoveryScorecards

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. 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.
  3. 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.”

caution

If you do not see the settings page you're looking for, you may not have permission to access that page. Please contact your admin for assistance.

How to connect Cortex entities to Dynatrace

Import entities from Dynatrace

You can manually import entities from Dynatrace:

  1. In the main nav of Cortex, click Catalogs > All entities.
  2. On the right side of the Entities page, click Import entities.
  3. Select the entity type.
  4. On the "Import entities" page, select Dynatrace.
  5. A list of discovered entities will appear. Click an entity to add it.
    • If your expected entities do not appear, click Sync entities in the upper left corner of the "Import entities" page.
  6. When you are finished adding entities, click Add.

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://{environment-id}.live.dynatrace.com/#newservices/serviceOverview;id={service-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. The details button is on the right side of an SLO
  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://{environment-id}.apps.dynatrace.com/ui/.../sloexp={ slo-Id }&slovis= The SLO ID is in the URL
    • 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 discovery audit. 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

After configuring the Dynatrace integration, you will see SLOs on an entity's home page. In the Operations tab, you can find more detailed data about SLOs, including Pass and Fail blocks.

Clicking an SLO block to open a modal with targets for each SLO that is passing or failing.

While viewing an entity, click Integrations > Dynatrace. On this page, view each SLO, its target(s), and the current value for that entity.

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 the entity via ID or tags. You can use this data to check whether an entity has SLOs associated with it, and if those SLOs are passing.

Definition: slos: List<SLO>

Example

In a Scorecard, you can use this expression to make sure an entity is passing its SLOs:

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

Use this expression to make sure latency Service Level Indicator (SLI) value is above 99.99%:

slos().filter((slo) => slo.name.matchesIn("latency") and slo.sliValue >= 0.9999).length > 0

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.

Still need help?

The following are all the ways to get assistance from our customer engineering team. Please use the option that is best for your users:

  • Email: help@cortex.io, or open a support ticket in the in app Resource Center
  • Chat: Available in the Resource Center
  • Slack: Users with a connected Slack channel will have a workflow added to their account. From here, you can either @CortexTechnicalSupport or add a :ticket: reaction to a question in Slack, and the team will respond directly.

Don’t have a Slack channel? Talk with your customer success manager.