Dynatrace is a monitoring and observability platform. Integrate Dynatrace with Cortex to get insights into application performance, service discovery, SLOs, and dependencies.
Before getting started, generate an with the scopes Read entities and Read SLO.
In Cortex, navigate to the .
Click Integrations from the main nav. Search for and select Dynatrace.
Click Add configuration.
Configure the Dynatrace integration form:
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.”
See the for instructions on importing entities.
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=
Entity name
You can also match entities based on matching with a regular expression, like:
Dynatrace supports service-level objective (SLO) monitoring. You can link these SLOs to your Dynatrace entity in Cortex:
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.
On the SLOs page, see the list of SLOs. On the right side of an SLO, click ^ to expand the Details.
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 .
Cortex automatically syncs from Dynatrace using attributes inherent to each entity.
Cortex will pull recent changes from your Dynatrace instance into the . 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.
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.
detected from Dynatrace will appear in .
With the Dynatrace integration, you can create Scorecard rules and write CQL queries based on Dynatrace SLOs.
See more examples in the in Cortex.
Cortex conducts a background sync of Dynatrace entities at 7 a.m. UTC and a dependency sync every day at 12 a.m. UTC. You can via the Relationship Graph.
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.
Click Save.
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.
Open your Cortex home page, then navigate to the service you are configuring.
In the upper right corner of the service page, click Switch to YAML.
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:
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:
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:
Entities will pass this rule if all SLOs associated with it have "passing" status.

x-cortex-apm:
dynatrace:
entityIds:
- mock-service-id-1
- mock-service-id-2x-cortex-apm:
dynatrace:
entityNameMatchers:
- "foo.*"x-cortex-slos:
dynatrace:
- id: slo-id-1
- id: slo-id-2slos().length > 0slos().all((slo) => slo.passing)
On the integration settings page, click the Logs tab to view logs from the last 7 days. Learn more in Troubleshooting with integration logs.