Linkerd's linkerd-viz dashboard relies on a Prometheus instance not meant for production, pushing many teams to route observability data into third-party APMs via OpenTelemetry instead. This walkthrough shows how to bypass linkerd-viz entirely by deploying an otel-collector configured with a Prometheus receiver to scrape Linkerd control-plane and data-plane pods directly, then export metrics via OTLP into OpenObserve (or any APM of choice). It covers installing OpenObserve via Helm, injecting Linkerd sidecars into workloads, and the full RBAC, ConfigMap, and Deployment YAML needed to wire the collector pipeline together, plus a note on securing metrics access with Linkerd's Authorization Policies.

9m read timeFrom linkerd.io
Post cover image
Table of contents
TL;DRWhat’s “Linkerd”?Linkerd’s observability extension - linkerd-vizCool! So, what’s OpenTelemetry?Installing OpenObserveInstalling LinkerdConfiguring OTelBonus: Linkerd’s Auth policy

Questions this post answers

How do I scrape Linkerd proxy metrics directly with an OpenTelemetry collector instead of using linkerd-viz?

Configure an otel-collector deployment with a Prometheus receiver whose scrape_configs target pods labeled with the linkerd-proxy container and linkerd-admin port using Kubernetes service discovery, then relabel the linkerd_io_ prefixed pod labels into clean metric labels. Export the results with an OTLP exporter to your APM of choice, such as OpenObserve, without needing the linkerd-viz extension or its bundled Prometheus instance at all. Teams wiring service mesh telemetry into their own observability stack can track this kind of setup on daily.dev.

Why is the Prometheus instance included with linkerd-viz not suitable for production use?

The Prometheus instance bundled with the linkerd-viz extension is explicitly not appropriate for production workloads, which is why many organizations instead centralize telemetry in APM platforms like Datadog, New Relic, or Coralogix. To achieve that centralization, teams commonly use OpenTelemetry to collect and export Linkerd's request/response error, latency, and traffic volume metrics to their chosen vendor. Anyone weighing linkerd-viz against a dedicated observability pipeline can follow this comparison on daily.dev.

1 Impression