Feb 21, 2024: Announcing Linkerd 2.15 with support for VM workloads, native sidecars, and SPIFFE! Read more »


This is not the latest version of Linkerd!
This documentation is for an older version of Linkerd. You may want the Linkerd 2.15 (current) documentation instead.

Dashboard and on-cluster metrics stack

Linkerd provides a full on-cluster metrics stack, including CLI tools and a web dashboard.

To access this functionality, install the viz extension:

linkerd viz install | kubectl apply -f -

This extension installs the following components into your linkerd-viz namespace:

  • A Prometheus instance
  • metrics-api, tap, tap-injector, and web components

These components work together to provide an on-cluster metrics stack.

Linkerd dashboard

The Linkerd dashboard provides a high level view of what is happening with your services in real time. It can be used to view “golden metrics” (success rate, requests/second and latency), visualize service dependencies and understand the health of specific service routes.

One way to pull it up is by running linkerd viz dashboard from the command line.

Top Line Metrics
Top Line Metrics

Grafana

In earlier versions of Linkerd, the viz extension also pre-installed a Grafana dashboard. As of Linkerd 2.12, due to licensing changes in Grafana, this is no longer the case. However, you can still install Grafana on your own—see the Grafana docs for instructions on how to create the Grafana dashboards.

Examples

In these examples, we assume you’ve installed the emojivoto example application. Please refer to the Getting Started Guide for how to do this.

You can use your dashboard extension and see all the services in the demo app. Since the demo app comes with a load generator, we can see live traffic metrics by running:

linkerd -n emojivoto viz stat deploy

This will show the “golden” metrics for each deployment:

  • Success rates
  • Request rates
  • Latency distribution percentiles

To dig in a little further, it is possible to use top to get a real-time view of which paths are being called:

linkerd -n emojivoto viz top deploy

To go even deeper, we can use tap shows the stream of requests across a single pod, deployment, or even everything in the emojivoto namespace:

linkerd -n emojivoto viz tap deploy/web

All of this functionality is also available in the dashboard, if you would like to use your browser instead:

Top Line Metrics
Top Line Metrics
Deployment Detail
Deployment Detail
Top
Top
Tap
Tap

Futher reading

See Exporting metrics for alternative ways to consume Linkerd’s metrics.