Skip to main content

netdata-migration

Use when migrating observability from Datadog, New Relic, Dynatrace, or Prometheus to Netdata. Covers SDK replacement, exporter reconfiguration, Prometheus endpoint passthrough, and dashboard parity expectations.

Informations de source

Dépôt
netdata/skills
Dernière activité de la source
5 octobre 2026 à 05:54
Langue détectée de SKILL.md
anglais
Étoiles
2
Forks
0

Options d'installation

Le prompt qui vérifie d'abord la source est sélectionné par défaut. Vous pouvez passer à une commande directe ou télécharger une copie locale.

Vérifiez les fichiers source

Lisez SKILL.md et les fichiers associés affichés par SkillsMP avant de décider de l'installer.

Explorateur de fichiers
7 fichiers

Affichage de SKILL.md

SKILL.md
Instructions source · Aperçu en lecture seule
name
netdata-migration
description
Use when migrating observability from Datadog, New Relic, Dynatrace, or Prometheus to Netdata. Covers SDK replacement, exporter reconfiguration, Prometheus endpoint passthrough, and dashboard parity expectations.
version
0.1.0
author
Netdata
license
Apache-2.0
tags
["netdata","migration","datadog","new-relic","dynatrace","prometheus","opentelemetry"]
# Netdata migration This skill guides a migration from another observability vendor's metric pipeline to Netdata. The goal is OpenTelemetry-native instrumentation that exports to Netdata over OTLP/gRPC, with existing dashboards and alerts rebuilt on the Netdata side where parity is possible. ## When to use this skill - The user is actively cutting over from a vendor SDK (Datadog, New Relic, Dynatrace) to OpenTelemetry + Netdata. - The user has a Prometheus scrape pipeline and wants to reuse it while adding Netdata ingestion. - The user wants to know which signals from the old vendor have a one-to-one analogue in Netdata. ## Key facts - Netdata accepts metrics, logs, and traces via OTLP/gRPC. Traces need a Netdata Agent built from `master` after 2026-08-17 (nightly) or the first stable release after v2.11.1. Stable v2.11.x has no trace receiver; on it, keep traces on the old backend until the Agent is upgraded. - Netdata's Traces tab covers trace search, lookup by trace ID, the slowest traces, a duration overview, and attribute facets. It is not a full APM suite; see [`rules/parity-expectations.md`](./rules/parity-expectations.md) for the gaps. - Most vendor SDKs (Datadog, New Relic, Dynatrace) now have an OpenTelemetry-compatible mode or a first-party exporter. Prefer that path over writing a second agent. - Prometheus metrics can be ingested without migration code: run the OTel Collector's `prometheus` receiver, or use Netdata's native Prometheus endpoint scraping. - Dashboard parity is rarely 1:1. Netdata charts are auto-generated by default, shaped by mapping files. Rebuilding a Datadog-style curated dashboard is a separate task. - Alerts do not migrate. Each vendor's rule language is different. Expect to rewrite alert expressions against Netdata's alert engine. ## Step-by-step 1. Inventory what the current stack emits: - Traces (a migration target when the Agent accepts traces; check the version first). - Metrics (the main migration target). - Logs (second migration target). - Vendor-specific events (sometimes unportable). 2. Pick a strategy: - **Parallel run**: keep the vendor pipeline, add an OTel Collector that exports to Netdata in parallel. Compare for 1-4 weeks. Then cut over. - **Cutover**: replace the vendor SDK in one go. Faster but no side-by-side validation. 3. Replace the SDK. See the per-vendor rule files in [References](#references). 4. Reconfigure the exporter. OTLP/gRPC at the Netdata receiver port (default 4317). Set `service.name`, `service.version`, `deployment.environment` as resource attributes. 5. Rebuild alerts against Netdata. Prioritize by current alert firing frequency; low-volume alerts can wait. 6. Decommission the vendor agent once the parallel-run window shows no regressions. ## Common mistakes - Leaving the vendor SDK loaded alongside the OTel SDK in the same process. They often patch the same libraries and conflict. Remove the vendor SDK fully. - Forwarding traces to a stable v2.11.x (or older) Agent. It has no trace receiver; every export fails. Check trace support first (see `skills/netdata-otel-setup/rules/trace-ingestion.md`). - Leaving trace sampling at the vendor's defaults. Netdata keeps every span it receives, bounded by `traces.retention` (1GB or 7 days by default). Size retention, or sample in the Collector, before cutover. - Expecting metric names to carry over. OTel semantic conventions differ from Datadog/New Relic metric names. Use OTel names going forward; rebuild dashboards against them. - Trying to replay historical vendor data into Netdata. There is no backfill tool, and Netdata rejects spans that started more than 24 hours ago. Cutover's retention starts at the cutover date. ## Migration sequencing A reliable migration order for a medium-sized fleet (20-100 services, multiple teams): 1. **Week 0: tooling in place.** Deploy a Netdata Parent, an OTel Collector gateway, and confirm a single smoke-test service flows end to end. No production services migrated. 2. **Weeks 1-2: easiest services.** Pick 1-3 services with minimal custom instrumentation (pure auto-instrumentation wins). Migrate. Run parallel for at least one week. 3. **Weeks 3-6: medium services.** Services with some custom metrics and straightforward alerts. Rebuild alerts as you go; this is where the bulk of the alert-rewriting happens. 4. **Weeks 7-10: hard services.** Custom SDK extensions, bespoke dashboards, cross-service SLOs. Budget extra time for rebuilding alert dependencies. 5. **Final weeks: decommission.** Stop the vendor agents. Archive any historical data that must be retained for compliance. A cutover under two weeks is possible for a small shop. A fleet migration under six weeks usually means something was skipped. ## Verification Run the MCP integration skill's telemetry-flow check against the service that was just migrated. Before cutover, also run the same check against the old vendor. A parallel-run comparison: ```text For service <name>, list the top 10 metrics by volume in Netdata in the last 30 minutes. List the top 10 metrics by volume in the old vendor for the same window. Identify any metric present in the old vendor but absent in Netdata. ``` Gaps revealed by that check usually trace back to missing instrumentation packages (for example, the Datadog SDK wrapped a library that the OTel auto-instrumentation set does not yet cover). A second check to run a week after cutover: have every on-call acknowledge that the runbooks they actually used in the last 30 days still work against Netdata. A runbook that no longer matches the observability tool is a silent hazard. Plan an explicit "metric inventory" diff, not just a spot check. Export the metric list from the old vendor (most have an API for this), and compare to Netdata's `list_metrics` output. The diff is what tells you whether something was quietly dropped. ## References - [`rules/from-datadog.md`](./rules/from-datadog.md) - [`rules/from-new-relic.md`](./rules/from-new-relic.md) - [`rules/from-dynatrace.md`](./rules/from-dynatrace.md) - [`rules/from-prometheus.md`](./rules/from-prometheus.md) - [`rules/parity-expectations.md`](./rules/parity-expectations.md) - OpenTelemetry semantic conventions: https://opentelemetry.io/docs/specs/semconv/
Voir sur GitHub