Linkerd

Agent Check Agent Check

Supported OS Linux Mac OS Windows

Integrationv3.2.1

Overview

This check collects distributed system observability metrics from Linkerd.

Setup

Installation

The Linkerd check is included in the Datadog Agent package, so you don’t need to install anything else on your server.

Configuration

Host

To configure this check for an Agent running on a host:

  1. Edit the linkerd.d/conf.yaml file, in the conf.d/ folder at the root of your Agent’s configuration directory. See sample linkerd.d/conf.yaml for all available configuration options. Note: This is a new default OpenMetrics check example. If you previously implemented this integration, see the legacy example.

  2. Restart the Agent.

Containerized

For containerized environments, see the Autodiscovery Integration Templates for guidance on applying the parameters below.

Linkerd v1
ParameterValue
<INTEGRATION_NAME>linkerd
<INIT_CONFIG>blank or {}
<INSTANCE_CONFIG>{"openmetrics_endpoint": "http://%%host%%:9990/admin/metrics/prometheus"}

Note: This is a new default OpenMetrics check example. If you previously implemented this integration, see the legacy example.

Linkerd v2
ParameterValue
<INTEGRATION_NAME>linkerd
<INIT_CONFIG>blank or {}
<INSTANCE_CONFIG>{"openmetrics_endpoint": "http://%%host%%:4191/metrics"}

Note: This is a new default OpenMetrics check example. If you previously implemented this integration, see the legacy example.

Log collection

Collecting logs is disabled by default in the Datadog Agent. To enable it, see Kubernetes log collection.

ParameterValue
<LOG_CONFIG>{"source": "linkerd", "service": "<SERVICE_NAME>"}

To increase the verbosity of the data plane logs, see Modifying the Proxy Log Level.

Validation

Run the Agent’s status subcommand and look for linkerd under the Checks section.

Data Collected

Metrics

See metadata.csv for a list of metrics provided by this integration.

For Linkerd v1, see the finagle metrics guide for metric descriptions and this gist for an example of metrics exposed by Linkerd.

Note: Depending on your Linkerd configuration, some metrics might not be exposed by Linkerd.

To list the metrics exposed by your current configuration, run:

curl <linkerd_prometheus_endpoint>

Where linkerd_prometheus_endpoint is the Linkerd Prometheus endpoint (you should use the same value as the prometheus_url config key in your linkerd.yaml)

If you need to use a metric that is not provided by default, you can add an entry to linkerd.yaml.

Simply follow the examples present in the default configuration.

Service Checks

linkerd.prometheus.health
Returns CRITICAL if the agent fails to connect to the prometheus endpoint, otherwise OK.
Statuses: ok, critical

Troubleshooting

Need help? Contact Datadog support.