Request an exact quote
Monitoring migration path

From Dynatrace to Grafana

Leaving Dynatrace's consumption pricing for the open Grafana stack, replacing OneAgent with OpenTelemetry, rebuilding metrics/logs/traces on Mimir/Loki/Tempo, and what Davis AI you give up.

Effort
Medium
Est. timeline
~15 wks
Grafana model
Free OSS / Cloud tiers
Open source
Yes
▶ Model your savings in the interactive calculator

Dynatrace is a strong full-stack APM, but its consumption pricing, DPS, host-hours, and per-capability add-ons, is hard to forecast, and the bill tends to climb as you instrument more of the estate. Teams that want predictable, self-hosted cost and no platform lock-in increasingly move to the open Grafana stack. This is not a like-for-like swap, though: you are trading a single integrated agent and an opinionated AI engine for a composable open-source toolkit you assemble and run yourself. Go in clear-eyed about that trade.

The architectural shift: one agent → OpenTelemetry

Dynatrace’s magic is OneAgent, drop it on a host and it auto-discovers and instruments everything. Grafana has no equivalent single agent; the open-source answer is OpenTelemetry (OTel). You instrument services with OTel SDKs and run OTel Collectors to gather metrics, logs, and traces, then route each signal to its backend:

  • Metrics → Prometheus or Grafana Mimir (for long-term, scalable storage)
  • Logs → Grafana Loki
  • Traces → Grafana Tempo
  • Visualisation + alertingGrafana

The Grafana Alloy collector (or the upstream OTel Collector) is the workhorse that replaces what OneAgent did automatically. Expect to do explicitly what Dynatrace inferred for you, that is the cost of openness, and also the source of the savings.

Two things make this shift smoother than it first looks. First, OTel is vendor-neutral, so the instrumentation you add is not tied to Grafana; if you later change any backend, the SDKs and collectors stay put. Second, auto-instrumentation libraries already cover common frameworks and HTTP/database clients per language, so many services light up without hand-written spans. The effort concentrates on the bespoke services OneAgent used to catch by inspecting the host, so inventory what it was capturing before you remove it.

What you give up: Davis AI

Be honest with stakeholders about this. Dynatrace’s Davis AI does automatic anomaly detection and root-cause analysis out of the box. Grafana alerting is rule-based, you define the conditions. You can layer anomaly detection on top (Grafana ML, or Prometheus-based approaches), but it is not free magic. If your on-call culture leans heavily on Davis auto-RCA, plan for that capability gap rather than discovering it mid-incident.

A staged migration that doesn’t blind you

The cardinal rule: never decommission Dynatrace until the new stack proves itself in parallel.

  1. Stand up the stack, Grafana + Mimir + Loki + Tempo (self-hosted, or Grafana Cloud if you want managed but open).
  2. Instrument one service end to end with OTel and confirm metrics, logs, and traces land correctly and correlate.
  3. Rebuild dashboards for that service in Grafana, port the panels that on-call actually uses, not every Dynatrace screen.
  4. Recreate alerts as Grafana alerting rules; wire the same notification channels (PagerDuty, Slack, email).
  5. Dual-run: keep OneAgent and OTel side by side on a representative slice until the Grafana alerts fire correctly for real conditions.
  6. Roll out in waves by service or team, then remove OneAgent and stop the Dynatrace consumption.

Rebuilding dashboards and alerts

Dynatrace populates its screens automatically from OneAgent’s model; Grafana starts blank, which is a feature if you are disciplined about it. Port the panels on-call actually opens during an incident, not every Dynatrace view, and rebuild them against Mimir, Loki, and Tempo data sources. The query languages differ by signal: metric panels use PromQL, log panels use LogQL, and trace panels use TraceQL, so a single Dynatrace multidimensional analysis view may become two or three panels wired to different backends.

Davis problem alerts have no direct export path. Recreate them as Grafana alerting rules with explicit expressions: a Davis “response time degradation” becomes a PromQL rule over a latency histogram, and a service-availability problem becomes a rule over error-rate or up metrics. Wire the same notification channels you used before (PagerDuty, Slack, email) so the paging path is unchanged even though the detection logic is now yours. Rebuild the alerts that page humans first and validate each against a real condition during the dual-run.

Gotchas worth flagging

  • Cardinality and retention drive your cost now. Self-hosting means you own storage sizing, high-cardinality labels in Mimir/Loki can balloon resource use. Set retention and label hygiene deliberately.
  • Trace sampling is your decision in OTel, tune head/tail sampling so you keep useful traces without storing everything.
  • Instrumentation coverage is the long pole. Auto-instrumentation libraries cover common frameworks; bespoke services need manual spans. Inventory what OneAgent was capturing so you don’t silently lose visibility.

What to do next

Dynatrace → Grafana swaps predictable-quality-but-unpredictable-cost for predictable cost and full control, at the price of running the stack yourself and replacing Davis AI with explicit alerting. Standardise on OpenTelemetry first, dual-run before you cut anything over, and migrate by service in waves. Model the removed DPS/host-hour consumption against the infra and engineering time to run Mimir/Loki/Tempo in the calculator above, the savings are real but they are partly traded for operational ownership. The figures there are illustrative, not a Dynatrace quote, so validate them against your own consumption record and the number of services you actually need to re-instrument before you commit to a date.

Tooling & automation for this path

Replace OneAgent with OpenTelemetry collectors; stand up Grafana with Mimir (metrics), Loki (logs), and Tempo (traces); rebuild dashboards and convert Davis alerts to Grafana alerting; dual-run before cutover.

Primary references: official Grafana documentation ↗ and the Dynatrace documentation ↗ , always verify version-specific behavior against them before you migrate.

Frequently asked questions

What replaces OneAgent when moving to Grafana?

OpenTelemetry does, but not as a single drop-in agent. OneAgent auto-discovers and instruments an entire host on install; the open answer is OTel SDKs in your services plus OTel Collectors (or Grafana Alloy) gathering metrics, logs, and traces and routing each to Mimir, Loki, and Tempo. You do explicitly what OneAgent inferred, which is both the extra work and the source of the savings.

What do I lose by giving up Davis AI?

Davis does automatic anomaly detection and root-cause analysis out of the box, and Grafana alerting is rule-based, meaning you define the conditions. You can layer anomaly detection on top with Grafana ML or Prometheus-based approaches, but it is not free magic. If your on-call culture leans on Davis auto-RCA, plan for that capability gap deliberately rather than discovering it mid-incident.

How does Dynatrace consumption pricing compare to running the Grafana stack?

Dynatrace bills on consumption, DPS and host-hours plus per-capability add-ons, which is hard to forecast and climbs as you instrument more. The Grafana stack removes that meter, but you pay in infrastructure to run Mimir, Loki, and Tempo plus the engineering time to operate them. Model the removed DPS and host-hour consumption against that operational cost in the calculator above; the saving is real but partly traded for ownership.

Do Davis-generated alerts convert to Grafana alerting rules?

Not automatically. Davis problems are model-driven, while Grafana alerts are explicit expressions over your metrics, logs, or traces, so you rebuild them as PromQL, LogQL, or TraceQL rules and wire the same notification channels. Recreate the alerts on-call actually depends on first, dual-run them against OneAgent, and confirm they fire on real conditions before cutting over.

Model your 3-year cost

Pre-filled for Dynatrace → Grafana; adjust every figure with your own numbers. Estimates are illustrative, not vendor quotes, see our methodology.

Sized at 300 monitored hosts, cost is computed on this.
Stay on Dynatrace (3yr)
$288,000
Move to Grafana (3yr + migration)
$70,800
Projected savings
$217,200 (75%)
Payback period
7.8 mo
Build a decision report from these numbers:

Illustrative, editable figures, not vendor pricing (defaults reviewed May 2026).

Request a vendor-accurate Grafana quote

A guided builder that turns your estimates into a requirements report (RFQ) you can send to a vendor, partner, or distributor for a binding quote, then feed the real prices back into the calculator above. How our estimates work.

  1. 1Size it
  2. 2Requirements
  3. 3Your details
  4. 4Channels & export

How big is your Dynatrace estate?

Physical + virtual hosts sending telemetry. Not sure? Enter rough numbers, the distributor confirms exact counts later.

300 monitored hosts
Default mid-size assumption (300 monitored hosts)