> ## Documentation Index
> Fetch the complete documentation index at: https://docs.rubixkube.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Dynatrace integration

> Connect Dynatrace to RubixKube today via the custom integrations path. Agents can pull problems, entity health, and metrics to enrich investigations and RCAs.

Dynatrace connects to RubixKube today through the custom integrations path. There is no separate prebuilt app to install. Most teams start with [Custom REST](/integrations/custom-rest) and move to [Custom MCP](/integrations/custom-mcp-servers) when they want richer, semantic tools.

## What to bring in

The signals that matter most when agents are investigating or writing RCAs:

* **Problems** (`/api/v2/problems`) to surface active problems as insight candidates.
* **Entity health** (`/api/v2/entities`) for service, host, and process group state.
* **Metrics** (`/api/v2/metrics/query`) for any metric Dynatrace is holding.
* **Events** (`/api/v2/events`) for deploy markers, config changes, and availability events.

Read-only API tokens are enough for all of the above.

## Which path to pick

<CardGroup cols={2}>
  <Card title="Start with REST" icon="network-wired" href="/integrations/custom-rest">
    Dynatrace exposes OpenAPI for its Environment API. Upload, enable read endpoints, done.
  </Card>

  <Card title="Move to MCP when you need more" icon="server" href="/integrations/custom-mcp-servers">
    Wrap multiple calls behind named tools (for example `dynatrace_entity_health`).
  </Card>
</CardGroup>

## Quick recipe: REST path

<Steps titleSize="h3">
  <Step title="Create a Dynatrace API token">
    In Dynatrace, create a token with `entities.read`, `metrics.read`, `problems.read`, and `events.read` scopes. No write scopes required.
  </Step>

  <Step title="Register the spec">
    In the RubixKube console, go to **Integrations → Custom REST** and upload the Dynatrace Environment API OpenAPI spec.
  </Step>

  <Step title="Enable the endpoints you care about">
    Start with problems, entities, and metrics query.
  </Step>

  <Step title="Set auth">
    Add the API token to the workspace secret vault. Map it to the `Authorization: Api-Token <token>` header.
  </Step>

  <Step title="Scope to skills">
    Attach the enabled endpoints to the skills that need Dynatrace context.
  </Step>
</Steps>

Once connected, the integration is tenant-wide.

## Example tools worth having

* `dynatrace_active_problems(service)` — returns active problems affecting a given service.
* `dynatrace_entity_health(entityId)` — returns availability, error rate, and response time for an entity.
* `dynatrace_metric(metric, window)` — wraps metric query with a common default window.
* `dynatrace_recent_events(service, window)` — returns deploy and config change events for the service.

Define these as skills (or as MCP tools if you want them to compose multiple calls).

## Related guides

<CardGroup cols={2}>
  <Card title="Custom REST Integrations" icon="network-wired" href="/integrations/custom-rest">
    The full REST flow with auth options and approval rules.
  </Card>

  <Card title="Custom MCP Servers" icon="server" href="/integrations/custom-mcp-servers">
    When you want richer tool schemas and multi-call workflows.
  </Card>

  <Card title="Skills" icon="sparkles" href="/concepts/skills">
    How to compose Dynatrace queries into custom workflows.
  </Card>
</CardGroup>
