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
- In Cortex, navigate to the Dynatrace settings page:
- In Cortex, click your avatar in the lower left corner, then click Settings.
- Under "Integrations", click Dynatrace.
- 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.
- 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.”
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:
- In the main nav of Cortex, click Catalogs > All entities.
- On the right side of the Entities page, click Import entities.
- Select the entity type.
- On the "Import entities" page, select Dynatrace.
- 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.
- 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:
- 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 left sidebar of Dynatrace, click Search, then type in
- On the SLOs page, see the list of SLOs. On the right side of an SLO, click ^ to expand the Details.
- 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=
- On the SLOs page, expand the details for each SLO to display the SLO ID in the URL.
- The ID is displayed in the URL following
- 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
andslo-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
- 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.