Dynatrace cost vs self-hosted Grafana and Prometheus

Dynatrace is priced through a committed DPS subscription, while a self-hosted Grafana and Prometheus stack moves cost into infrastructure, storage, implementation and staff. This page shows how to compare the two with your own numbers.

On this page

Where self-hosted Dynatrace costs less, and where it costs more

A DPS renewal or a consumption overrun is forcing a cost review, and the answer depends on how much telemetry you ingest and how long you keep it. Replacing a Dynatrace Platform Subscription with self-hosted Grafana and Prometheus swaps one consumption-based commitment for recurring infrastructure, storage and staff costs, plus a one-time instrumentation and dashboard rebuild. Whether that is cheaper turns on data volume, retention and the people who will run the stack. Neither Dynatrace nor DeployOpen prices appear here. The only figures used are the open-source facts that matter for the comparison.

Start with what is free and what is not. Prometheus is Apache-2.0 licensed and has no paid enterprise edition, so its license cost is zero, but its single-node local storage is not clustered or replicated and defaults to 15 days of retention. Longer retention means remote storage, which you pay for in compute and disks or object storage. Grafana was relicensed to AGPL-3.0 with the first release in Grafana 8.0, and Grafana Enterprise is a separate commercial option for features such as SAML. Grafana Cloud's published tiers, including a 19 US dollar monthly platform fee for Pro and a 25,000 US dollar annual minimum for Enterprise, are a reference point for what a hosted equivalent charges, not a quote for your environment.

Ask your team to model three cost lines before comparing totals: the Dynatrace renewal terms and remaining commitment, the infrastructure and storage for each signal type at your target retention, and the staff hours to operate, upgrade and back up the stack. Request written quotes for any implementation partner work, covering instrumentation, dashboard rebuild and the parallel run. Confirm the retention you need for each signal with your compliance owners, because retention drives storage cost more than any other input.

Which cost components move when you leave DPS

This table compares each cost component on the Dynatrace Platform Subscription side with the matching component in a self-hosted Grafana, Prometheus and Loki stack. Read the Recurring column first, because most of the ongoing spend on either side sits there, and use the driver column to see what changes the number. No prices are shown because the supplied facts do not give Dynatrace rates or DeployOpen fees.

Cost componentWho is paid, and for whatOne-time or recurringWhat drives it
DPS subscription and rate cardDynatrace, for committed consumption across capabilitiesRecurring, under a 1 to 3 year agreement with a minimum annual commitmentCommitted minimum, per-capability rates, and telemetry volume against the rate card
Compute for Prometheus, Loki and GrafanaYour cloud or data center provider, for servers or nodesRecurringSeries count, ingest rate, query load and number of Grafana users
Object storage for LokiYour storage provider, for chunks and indexRecurringLog volume per day, retention settings and replication choices
Prometheus and Loki long-term storageYour storage provider; Prometheus itself has no paid editionRecurringRetention period, remote write targets and compaction behavior
Grafana database and high availabilityYour provider, for MySQL 8.0+ or PostgreSQL 12+ plus a load balancerRecurring, with a one-time setupTwo or more active-active Grafana servers and database backups
Alertmanager clusterYour infrastructure, for the Alertmanager instancesRecurringNumber of alert rules, notification channels and cluster size
Implementation and OpenTelemetry instrumentationInternal staff or a services partner, under a written scopeOne-timeNumber of services, languages and dashboards to rebuild
Support, upgrades and internal skillsYour staff, plus any retainer or vendor support you chooseRecurringUpgrade cadence, on-call coverage and PromQL and Grafana expertise

How the DPS minimum annual commitment shapes the comparison

The cost you compare against a self-hosted stack is not the metered usage on your last invoice. Dynatrace Platform Subscription (DPS) is a consumption model: you sign an agreement, typically for 1 to 3 years, with a minimum annual commitment, and usage accrues against that commitment on a per-capability rate card. The number to model is therefore the committed floor plus any overage above it. If your actual consumption stays below the floor, you still pay for the floor, and that unused portion is a cost the open-source side does not carry.

DPS can be shared across SaaS and Managed deployments, so the cost profile depends on where your environment runs. A SaaS deployment shifts hosting and operations to Dynatrace. Dynatrace Managed runs in your own environment, which means your team carries the compute, storage and upkeep for that footprint, while the subscription still covers the licensed consumption. Model each deployment separately so you do not assume the Managed side inherits SaaS economics. Ask Dynatrace which capabilities and deployments your agreement covers before you build the comparison.

Pull the rate card, the minimum annual commitment and the term dates from your own contract and order documents rather than working from published examples or estimates. The Dynatrace Platform Subscription documentation explains the model, but your negotiated figures govern. Then map the term end against your migration window. If the commitment runs past the date you expect to cut over, decide whether to keep dual-shipping telemetry until then, negotiate a reduced commitment at renewal, or accept the remaining floor as a sunk cost in your business case.

What moves the cost up or down

Self-hosted cost follows the same levers as the Dynatrace bill, but you carry each one directly. Volume, retention, users, service count, availability and skills set the compute, storage and staffing you buy, and they interact, so change one and the others move.

Telemetry volume across metrics, logs and traces

Each signal has its own scaling path. Loki's monolithic mode suits up to about 20 GB of logs per day, while simple scalable mode approaches 1 TB per day, so the log volume you forecast decides the deployment shape and the node count. Prometheus handles metrics on a single node, so cardinality and series count drive its memory and disk. Trace volume drives Jaeger storage. Measure each signal separately from your current Dynatrace usage before sizing anything.

Retention period and object storage

Retention multiplies storage. Prometheus defaults to 15 days of local data and can be limited by time or size, but it is not clustered or replicated, so long retention usually means remote write to external storage. Loki keeps logs indefinitely until the compactor's retention is enabled, which is an easy way to grow costs without noticing. Ask who owns the object storage bill and what your compliance team requires for retention on each signal.

Users and high availability for dashboards

Dashboard users drive Grafana server count and database sizing. Small deployments under 25 concurrent users run on 2 cores and 2 to 4 GB of RAM, but production and high availability need MySQL 8.0 or later or PostgreSQL 12 or later. Grafana HA needs two or more active-active servers behind a load balancer, and alerting needs extra configuration to avoid duplicate notifications. Count users and decide whether dashboards and alerts must survive a node failure.

Alerting and Prometheus high availability

Alerting reliability is the cost most often underestimated. Prometheus local storage is not clustered, so a second Prometheus replica or remote storage is needed if alerting must survive an outage. Alertmanager can run as a cluster through its --cluster flags, and Prometheus should point at every Alertmanager instance rather than a load balancer. Each added replica is more compute, more storage and more configuration to keep in sync.

Number of services to instrument

Dynatrace OneAgent discovers processes automatically, while a self-hosted stack needs OpenTelemetry instrumentation per service, language and runtime. The instrumentation effort, and the dashboard and alert rebuild that follows, grows with the service count. Inventory services, group them by language, and decide which get auto-instrumentation and which need manual spans before you estimate the migration.

Internal skills and on-call ownership

The largest recurring cost is often the staff who run the stack. Someone must own Prometheus storage, Loki compaction, Grafana upgrades, TLS, authentication and backups, and you must patch on Grafana's release cadence. Grafana's support windows and Prometheus's six-week minor release cycle mean an upgrade schedule is ongoing work. Ask any implementation partner for the roles, hours and on-call coverage in a written scope, and compare that with the commitment you would otherwise sign.

How to build the comparison with your own numbers

This sequence turns your actual Dynatrace spend and telemetry volumes into a like-for-like estimate for a self-hosted Grafana and Prometheus stack, so the comparison rests on your data rather than on list prices or assumptions.

  1. Export actual DPS consumption by capability

    Finance and the Dynatrace account owner pull consumption for the last full DPS term, broken out by capability (for example host monitoring, traces, logs and metrics) rather than as one total. Ask for the rate card that applies to your agreement and confirm the minimum annual commitment and whether any unused commitment carries over. This step is done when you have a table of consumed units per capability per month, the rate card lines that price them, and the commitment figure, all sourced from the contract and invoices.

  2. Define target retention for each signal

    Engineering leads and the people who answer audit and incident questions agree how long metrics, logs and traces must stay queryable, and whether each signal needs a different window. Prometheus keeps local data for 15 days by default, so anything longer needs a long-term store such as Grafana Mimir, and Loki keeps logs indefinitely until retention is enabled. This step is done when each signal has a written retention target and a named owner who can justify it to auditors.

  3. Size object storage and compute from ingest rate

    The platform team measures current ingest per signal (samples per second for metrics, GB per day for logs, spans per second for traces) and multiplies it by the retention targets to estimate stored volume. Object storage size comes from that volume, while compute for Prometheus, Loki and Mimir depends on series count, query load and the Loki deployment mode you choose, which the Loki deployment modes documentation describes by daily log volume. Ask the team to load-test with a representative sample before committing hardware. This step is done when you have a sizing sheet with storage, CPU and memory per component and the assumptions written beside each number.

  4. Add Grafana database, load balancer and Alertmanager

    Platform engineers add the supporting components that a single-node trial does not need: a MySQL or PostgreSQL database for Grafana configuration, at least two active-active Grafana servers behind a load balancer for high availability, and a clustered Alertmanager set with every instance listed in the Prometheus configuration. Grafana's installation guidance states that SQLite is not suitable for production, and its high availability notes say alerting needs extra configuration to avoid duplicate notifications. This step is done when each supporting component has a line item in the sizing sheet and a documented failover test has been planned.

  5. Count people hours for run and upgrades

    Engineering management estimates the recurring staff effort to operate the stack, including on-call coverage, backups, security patching and capacity work. Plan upgrades around the cadence: Prometheus starts a new minor release every 6 weeks and a minor generally stops receiving fixes after that, while the current LTS line receives fixes for one year. Grafana minor releases are supported for 9 months and the last minor of a major version for 15 months, so each stack needs regular upgrade cycles. This step is done when you have an annual hours estimate per role, split between routine upgrades and unplanned work, and a named owner for each component.

  6. Add one-time implementation and migration effort

    The migration team lists the one-time work: instrumenting services with OpenTelemetry, dual-shipping telemetry while the DPS commitment runs, rebuilding dashboards and alerts in Grafana, and retiring OneAgent-based detection and root-cause views that have no direct equivalent. Note which items your staff can do and which you want to buy as a fixed-scope engagement. This step is done when the one-time items are listed by service or dashboard group, each with an effort owner and a dependency on the commitment term.

  7. Request comparable quotes and compare totals

    Procurement sends the sizing sheet and the scope list to each provider and asks for a written quote that separates implementation, hardening, backup and documentation, ongoing support, and any retainers for upgrades or testing. Ask what the quote assumes about ingest, retention, high availability and support hours, and how change requests are priced. Build one table that places the annual DPS cost beside the recurring infrastructure, staff and support costs, with one-time costs amortized separately. This step is done when every line in the table traces to a source document, a sizing assumption or a written quote.

What the instrumentation and dashboard rebuild adds to the bill

The largest cost that a self-hosted move adds is not hardware. It is the one-time work of replacing OneAgent with OpenTelemetry instrumentation, service by service, and rebuilding what Dynatrace produced automatically. Each service needs its traces, metrics and logs wired through an OpenTelemetry SDK or auto-instrumentation agent, exported to a collector, and checked for completeness. Effort scales with the number of services, their languages, and how many depend on OneAgent's automatic discovery. Dynatrace documents OTLP ingestion for traces, metrics and logs, so you can confirm how the existing DPS subscription meters that OTLP data before you start a dual-shipping trial. Ask Dynatrace for the rate card lines that apply to OTLP ingest, because they determine what a parallel period costs.

Dual shipping is the recurring cost that most teams underestimate. While the DPS commitment runs, the same OTLP stream can go to Dynatrace and to a self-hosted backend such as Prometheus for metrics and Jaeger for traces, with Grafana on top. You pay for both sides during that window, and the overlap should be planned to end at the commitment's renewal or exit date, not later. Confirm the minimum annual commitment and the term with your account team, since DPS is typically a 1 to 3 year agreement, and map your cutover dates against it. Then budget for the Grafana side: dashboards, alert rules and data sources are rebuilt by hand unless you define them as code. Grafana's provisioning files and its Terraform and Git Sync options let you keep dashboards and alerting in version control, which costs engineering time up front but makes later changes reviewable.

Dynatrace history mostly does not move with you. Its exports focus on configuration and API access to metrics and entities, so years of collected performance data usually stays in the platform. Plan for a history gap: decide which baselines, SLO trends and incident records you must keep, export what the APIs allow, and archive the rest in a readable form before the subscription ends. Your auditors and capacity planners will ask for that history, so agree on the retention requirement early. Dashboards and alerts also need re-validation against the new telemetry, because thresholds tuned to OneAgent metrics will not match OpenTelemetry metric names and resource attributes. Ask your team to inventory every Dynatrace dashboard and alert, mark which ones matter for on-call, and assign an owner to rebuild each one.

Costs teams forget on each side

What happens if our Dynatrace usage goes above the DPS commitment?

Usage above the commitment keeps accruing against the Dynatrace Platform Subscription (DPS) at the per-capability rates in your rate card. DPS is consumption-based, and agreements typically run one to three years with a minimum annual commitment, so overage depends on which capabilities teams switch on and how much telemetry they send. Cost growth often comes from new services and log volume added mid-term, which a yearly review can miss. Ask for the overage rate for each capability, how usage is metered, and whether SaaS and Managed usage share the subscription. Model the rate card against recent telemetry before you sign.

Do we lose money if we do not use the full Dynatrace commitment?

Whether unused commitment is carried forward, credited or lost depends on your agreement, and the public DPS documentation does not settle it, so confirm the terms in writing. A minimum annual commitment is payable whatever your consumption, so a team that moves telemetry to OpenTelemetry and self-hosted tools during the term can keep paying for capacity it no longer uses. Ask how unused amounts are handled at each annual boundary and at term end, whether the commitment can be resized at renewal, and whether the migration can be phased so consumption tracks the commitment. Review consumption by capability each month so any shortfall is visible well before the final year.

How should we negotiate a Dynatrace renewal before the term ends?

Start with consumption by capability over the past term, then size the next commitment from that history and a written plan for change. Points worth raising with the vendor:

  • Overage rates for each capability on the rate card
  • Treatment of unused commitment at each annual boundary and at term end
  • Term length and whether the commitment can be resized at renewal
  • Whether SaaS and Managed deployments can share the subscription, as the DPS documentation describes

Keep a dated export of usage and your dual-shipping plan so the negotiation rests on evidence from your own environment and timeline.

Which Grafana login methods work without the Enterprise edition?

Every Grafana edition supports LDAP, generic OAuth, Entra ID, Okta, GitHub, GitLab and Google OAuth, auth proxy and JWT, according to the Grafana authentication docs. Those methods cover most single sign-on needs if your identity provider supports OAuth or LDAP. SAML, team sync, active sync and SCIM provisioning are available only in Grafana Enterprise and Grafana Cloud. If your policy requires SAML or automated provisioning from your identity provider, that requirement changes the licensing decision. Confirm your identity provider's OAuth or LDAP options with your security team before you choose the edition.

How much does Grafana Enterprise cost for self-managed SAML?

The supplied pricing facts do not give a self-managed Grafana Enterprise price, so request a quote from Grafana Labs for your deployment size and support needs. The Grafana pricing page lists a minimum commitment of 25,000 US dollars per year for the Enterprise tier of Grafana Cloud, which is a hosted offering and a different product from a self-managed license. Ask whether the quote covers the license only or also support, and how it renews. Factor in the staff time to operate the identity integration, which recurs as long as the stack runs.

Why does our Loki instance need a reverse proxy in front of it?

Loki has no built-in authentication layer, so its documentation says you must run an authenticating reverse proxy in front of it, such as nginx, HAProxy, OAuth2 Proxy or Pomerium. Loki identifies tenants by the X-Scope-OrgID header when auth_enabled is true, so the proxy must decide which user can send or query each tenant. The proxy adds components to build, certificate and patch, along with its own configuration and access rules, and that work belongs in your effort estimate. Confirm the proxy design with your security team before any log data arrives.

What happens to Loki logs if we leave retention turned off?

Logs are kept indefinitely, because the Loki compactor applies retention only when retention_enabled is set, and that setting is disabled by default. Storage then grows with ingest on object storage such as Amazon S3, Google Cloud Storage or Azure Blob Storage, and that bill recurs every month. Retention can be set globally, per tenant or per stream selector, and each stream rule must be at least 24 hours. Decide retention periods with your compliance owner before go-live, because changing them later does not restore logs already removed.

Who covers on-call for a self-hosted monitoring stack?

Your own team does, and the stack has more components that can page someone than a single SaaS console. Grafana high availability needs two or more active-active servers behind a load balancer on MySQL or PostgreSQL, and Alertmanager runs as a cluster through its cluster flags. Prometheus local storage is not clustered or replicated, so it needs its own backup and failure plan. Patch releases for Grafana arrive at least monthly, and Prometheus minor releases follow a six-week cycle, so upgrade work recurs. Budget the on-call rota, the upgrade calendar and the patch effort as ongoing staff costs.

How the cost picture changes by stack choice

This is the core self-hosted option for metrics, dashboards and distributed traces. Prometheus is Apache-2.0 licensed, Jaeger is Apache-2.0 and Grafana is AGPL-3.0-only, so the software itself carries no license fee. The recurring cost sits in the servers, the storage that Prometheus keeps locally, and the people who operate and upgrade the stack. Prometheus stores data on a single node by default with a 15-day retention, so longer history needs remote write to external storage, which adds a component to run.

  • Compute and storage: Prometheus, Grafana and Jaeger each need hosts sized for your series count, query load and trace volume. Ask your team to estimate these from current Dynatrace usage, not from list prices.
  • Grafana database: Production and high availability need MySQL 8.0 or later or PostgreSQL 12 or later, not the default SQLite.
  • Staff time: Someone owns upgrades, Alertmanager clustering and backup of local Prometheus data.
  • Not covered: Automatic discovery, AI root-cause analysis and real user monitoring have no direct equivalent in this stack.

Confirm the expected series count, trace sampling rate and retention period with your team before requesting a quote.

Questions buyers ask before comparing Dynatrace with self-hosted Grafana

How much does a self-hosted Grafana and Prometheus stack cost compared with Dynatrace DPS?

No single figure settles this, because the two bills are built differently. Dynatrace Platform Subscription (DPS) is a consumption model: you sign an agreement of typically 1 to 3 years with a minimum annual commitment, and usage accrues against it on a per-capability rate card. A self-hosted stack has no license fee for Prometheus (Apache-2.0) or Grafana (AGPL-3.0-only), so its costs are infrastructure, storage, implementation and the people who run it. Cost drivers on the open-source side include the number of active series, log volume, retention period, high availability, and the hours your engineers spend on upgrades and on-call. Ask Dynatrace for your contracted rate card and commitment term, then model the open-source side against your own telemetry volumes.

How long does a migration from Dynatrace to Grafana and Prometheus take?

The duration depends on how much of your estate is instrumented by OneAgent and how many dashboards, alerts and automations depend on Dynatrace. The main drivers are the number of services that need OpenTelemetry instrumentation, the number of dashboards and alert rules to rebuild in Grafana, and whether you run both platforms in parallel while the DPS commitment is still active. Because Dynatrace ingests OTLP, many teams send the same telemetry to both backends during a transition, which lets them compare results before cutting over. Timing should be set against your commitment end date. Ask any partner for a written scope and timeline, and confirm which Dynatrace features (such as automatic discovery and root-cause analysis) your teams rely on, since those need replacement planning.

Can our team run a self-hosted Grafana and Prometheus stack in-house?

Many teams can, but the stack is assembled from several components, so the skills need to be planned rather than assumed. Prometheus stores data in a local time series database that is not clustered or replicated, so it must be managed like any other single-node database. Grafana needs MySQL or PostgreSQL for production and high availability, with two or more active-active servers behind a load balancer. Alertmanager needs its own cluster configuration, and Loki, if used for logs, depends on object storage and an authenticating reverse proxy. Your team should cover Kubernetes or Linux operations, database administration, OpenTelemetry instrumentation, PromQL and alert design, and a regular upgrade cadence. Grafana's own guidance says minor releases come every other month and patch releases at least monthly, so the upgrade workload recurs.

Do the open-source license changes for Grafana, Loki and Prometheus affect us?

It depends on how you use the software. Prometheus is Apache-2.0 and has no paid enterprise edition, so it carries the fewest licensing questions. Grafana was relicensed from Apache-2.0 to AGPL-3.0-only on April 20, 2021, starting with Grafana 8.0, and Grafana Loki and Tempo moved to AGPLv3 on the same date. The AGPL requires that users interacting with a modified version over a network can obtain its source, so legal teams should review any internal changes or forks. Grafana Enterprise is a separate commercial option, and some features such as SAML and SCIM are only in Enterprise and Grafana Cloud. Ask your legal and compliance team to confirm how the AGPL applies to your planned use, including any modifications.

What should we ask a migration partner to include in a quote?

Ask for a fixed scope in writing before work starts, with deliverables and timelines agreed up front. A useful quote separates instrumentation work (OpenTelemetry collectors and service-by-service changes), platform build (Prometheus, Grafana, Jaeger or Loki, plus Alertmanager and storage), dashboard and alert rebuild, cutover and parallel running, and documentation. Ask how high availability, backups, authentication and upgrades are handled after go-live, and whether ongoing support is a separate retainer. Confirm which Dynatrace capabilities are out of scope, such as automatic discovery, AI root-cause analysis and real user monitoring. DeployOpen does not publish a price list; a quote follows from the written scope.

Does Dynatrace Managed change the cost and ownership comparison?

Yes, it changes who operates the platform, but not the license model. Dynatrace Managed is run in your own environment, and DPS can be shared across SaaS and Managed deployments, so the subscription still applies. The comparison therefore shifts toward operating effort: with Managed, Dynatrace supplies the software and you run the environment, while a self-hosted stack also requires you to choose, configure and upgrade each component. Ask Dynatrace which parts of the Managed environment you operate, what offline or air-gapped operation includes, and how upgrades are delivered. Compare those answers against the staff time and infrastructure you would commit to Prometheus, Grafana and Jaeger.

How much telemetry history can we keep when moving off Dynatrace?

Plan for retention to be set by your own storage budget, not carried over from Dynatrace. Prometheus stores data locally with a default retention of 15 days, configurable by time or size, and can send samples to external long-term storage through remote write. Loki retention is disabled by default, so logs are kept indefinitely until you enable it, and retention can be set globally, per tenant or per stream. Long-term metric storage often uses a system such as Grafana Mimir, which is also AGPL-3.0-only. Telemetry history collected in Dynatrace generally does not move with a migration, so decide which historical comparisons you need and export them before the subscription ends. Confirm the export options with Dynatrace.

Turning the model into a decision before the renewal date

Set the decision date backward from the end of your Dynatrace Platform Subscription (DPS) term, because the agreement is typically 1 to 3 years with a minimum annual commitment that you pay whether or not you use it. Confirm the exact term end, the commitment amount, and the notice period for non-renewal with your Dynatrace account team in writing, and ask how unused commitment is handled if you shift workloads during the term. Work back from those dates to set a go or no-go point that leaves time to finish instrumentation and cutover. Treat the decision date as the first criterion, not an afterthought, since it determines how much overlap you can afford to run.

During the overlap, dual-ship the same telemetry: Dynatrace ingests OpenTelemetry through its OTLP API, and an OpenTelemetry Collector can fan out one pipeline to Dynatrace and to a self-hosted backend such as Prometheus for metrics and Jaeger for traces. Define pass criteria before the parallel run starts, including that the Prometheus instance keeps the query coverage your alerts need, that Grafana dashboards match the panels operators rely on, and that the Collector stays within the CPU and memory limits your platform team sets. Note that Prometheus defaults to 15 days of retention and is not clustered, so decide how long-term history will be handled. Then collect the numbers the business case still lacks: the Dynatrace consumption projection from your account team, your current DPS usage by capability, and internal estimates of the engineering hours, hosting, and storage that the self-hosted stack would need.

How DeployOpen scopes a fixed-price Grafana and Prometheus implementation

DeployOpen plans and implements self-hosted Grafana, Prometheus and related open-source components inside your own cloud accounts, data centers or air-gapped networks. We start from your Dynatrace cost lines and your DPS commitment term, then build the stack, rebuild dashboards and alerts, and hand over the documentation your team needs to run it.

How we scope

  • We inventory the Dynatrace capabilities, hosts, services and dashboards you use before agreeing any work in writing.
  • The written scope names the components, such as Prometheus, Grafana, Jaeger and Alertmanager, and what each one covers.
  • Engagements are fixed-scope, and ongoing support, upgrades and continuous testing are available as a retainer.

How we build

  • We deploy OpenTelemetry Collector pipelines that dual-ship telemetry to Dynatrace and the new stack during the overlap period.
  • We size storage and retention for Prometheus and Loki against the retention periods your compliance team requires.
  • We configure Grafana authentication, provisioning files and security hardening settings as code, stored in your repository.

How we hand over

  • We rebuild dashboards and alert rules, then compare alert behavior against Dynatrace for a documented parallel run.
  • We deliver runbooks for upgrades, backups, high availability setup and Alertmanager cluster operation.
  • We provide a cutover checklist and a record of what Dynatrace features, such as automatic discovery, are no longer covered.

How we support

  • We plan upgrades around the Grafana and Prometheus release cycles and their published support windows.
  • Retainers cover patching, capacity review, backup verification and security testing of the monitoring stack.
  • Our security testing and compliance readiness work can extend to the monitoring platform and its evidence records.

Talk to our team.

Tell us what you're working on, whether it's a deployment, an audit, a security test or a cyber range. You'll speak with an engineer who can help you scope it.

  • 30-minute call: free, with no obligation.
  • NDA on request: we can sign before you share details.
  • Clear next steps: a scope and plan after the call.