LinkMesh
LinkMesh Observability Data Collection Management
OpenTelemetry Observability

What OTel Can (and Can't) Replace

The honest line between the pipeline and the backend.

linkmesh.io
Philippe Braxmeier Philippe Braxmeier ← Back to blog
7 min read

Read enough migration blog posts and you’d think adopting OpenTelemetry means deleting your observability vendor. It doesn’t — and teams that believe it discover the gap the hard way, usually when a dashboard goes blank a week after they uninstalled the old agent. OpenTelemetry is transformative, but only if you’re precise about what it actually is.

OpenTelemetry is a standard for producing, collecting, and transporting telemetry. It is not an observability backend: it doesn’t store data, index it, run a query language, draw dashboards, or evaluate alert rules. So the honest framing of any OTel migration is replace the left side of the pipeline, keep or rebuild the right side. This guide draws that line clearly so you can scope a migration that doesn’t leave anything dark.

Who this guide is for

Anyone planning to adopt OpenTelemetry or migrate off a proprietary agent — platform/SRE teams and architects who need to set realistic expectations with stakeholders before the work starts. Read this first, then reach for the vendor-specific playbooks. Prerequisites: none; this is the conceptual map.

The three layers OpenTelemetry actually standardizes

OTel replaces the parts of the stack that used to be proprietary and welded to one vendor:

  • Instrumentation — OTel SDKs and zero-code auto-instrumentation produce spans, metrics, and logs in a vendor-neutral shape, replacing a vendor’s SDK.
  • Collection — the OTel Collector receives, processes, and exports telemetry, replacing a vendor’s agent.
  • The wire format — OTLP is one open protocol for all three signals, replacing a vendor’s proprietary protocol.

Everything downstream of OTLP — storage, indexing, query, visualization, alerting, analytics — is the backend’s job, and OTel deliberately doesn’t do it. That’s not a gap in OpenTelemetry; it’s the boundary that makes it a standard rather than a product.

OpenTelemetry standardizes this Instrument Collect Transport (OTLP) The backend does this — OTel doesn't Store · Index · Query Dashboards · Alerts Analytics · RUM · Profiling

What OpenTelemetry replaces — the honest matrix

Here’s the line, capability by capability. “Usually” means it works for most teams with validation; “Partial” means some of it moves and some doesn’t; “No” means it’s simply not what OTel does.

CapabilityMove to OTel?What it means in practice
Host & infrastructure metricsUsuallyhostmetrics / kubeletstats cover the standard set; validate vendor-specific metrics.
Application tracesUsuallyOTel SDKs / auto-instrumentation emit OTLP; instrumentation depth may differ from a proprietary agent.
Log collection & forwardingOftenfilelog / journald collect; parsing and routing rules must be recreated as processors.
Custom / StatsD metricsUsuallystatsd and Prometheus receivers ingest most custom metrics.
PII redaction & data shapingYestransform / redaction / filter processors — often better than a closed agent, and before egress.
Resource attribution / taggingYesresource / k8sattributes processors set service.name, environment, ownership.
DashboardsNoRebuild in the new backend, or keep the old one. Not an OTel concern.
Alerting / monitorsNoAlert rules live in the backend; migrate them separately.
RUM / session replayUsually notOTel has browser/mobile signals but not feature parity with vendor RUM.
Continuous profilingEmergingOTel profiling is young; treat vendor profilers as not-yet-replaced.
Service topology / dependency mapsPartialDerivable from traces, but auto-discovered proprietary maps don’t transfer 1:1.
AI root-cause / anomaly analyticsNoVendor analytics (Davis, Watchdog, etc.); the new backend provides its own, if any.
Network performance monitoringUsually noteBPF/vendor-specific; not an OTel-native capability.
Backend storage & query languageNoOTel is not a backend — this is where residual lock-in genuinely lives.

The pattern behind the matrix

Look at the “Yes/Usually” rows versus the “No” rows and a clean split appears: OpenTelemetry owns everything up to and including the wire, and nothing past it. That’s why it’s such a good deal — the layer it replaces (agents, SDKs, protocol) is exactly the layer that used to be most expensive to switch, because it was deployed on every host and embedded in every service.

The “No” rows are real, and pretending otherwise is the mistake. But notice what kind of work they are: rebuilding a dashboard or re-authoring an alert is portable effort — you do it once, in a backend you chose, and you’re never blocked from leaving again. Compare that to re-instrumenting a thousand services, which is the wall that kept you locked in before. OTel doesn’t eliminate switching cost; it converts a technical impossibility into a project plan.

How to scope a migration so nothing goes dark

The failure mode is uninstalling the old agent before you’ve accounted for a “No”/“Partial” capability you actually depended on. Avoid it with a simple discipline:

  1. Inventory what you actually use. Not what the vendor offers — what your team opens during an incident. Dashboards, the three alerts that page you, the topology view, RUM if you truly rely on it.
  2. Classify each against the matrix. Collection-layer items move to OTel; backend-layer items get rebuilt or retained.
  3. Dual-run. Keep the incumbent live while OTel ships in parallel, and validate parity before turning anything off. (Every vendor playbook below walks this.)
  4. Retain deliberately. Where a capability doesn’t move — RUM, synthetics, profiling — decide consciously to keep a tool for exactly that, replace it, or drop it. “Forgot about it” is not a decision.

This is also where a control plane earns its place: it manages the collection layer OTel does replace, so the part you’re migrating is actually operable at scale.

The LinkMesh control-plane dashboard — managing the OpenTelemetry collection layer that OTel standardizes, while the backend stays your choice.

Where this fits

If the collection layer is what OTel replaces, the next questions are how to run it and how to leave your current vendor:

OpenTelemetry won’t rebuild your dashboards or replace your backend’s analytics — and a guide that tells you otherwise is selling something. What it does is hand you the collection layer as an open standard you own, which is the one thing that turns your backend from a life sentence into a choice.

Adopting the collection layer OTel standardizes?

That layer — a fleet of OpenTelemetry Collectors — still needs to be built, validated, and operated. LinkMesh is a self-hosted control plane for exactly that: compose pipelines, push config over OpAMP, and see throughput on every edge. Priced per collector, not per gigabyte. Stand one up in minutes, or see what it does.