---
layout: docs
page_title: Enable Dataplane telemetry metrics
description: >-
  Configure telemetry to collect metrics you can use to debug and observe Consul Dataplane behavior and performance.
---

# Enable Dataplane telemetry metrics

Consul Dataplane collects metrics about its own status and performance. The following external metrics stores are supported:

- [DogstatsD](https://docs.datadoghq.com/developers/dogstatsd/)
- [Prometheus](https://prometheus.io/docs/prometheus/latest/)
- [StatsD](https://github.com/statsd/statsd)

Consul Dataplane uses the same external metrics store that is configured for Envoy. To enable telemetry for Consul Dataplane, enable telemetry for Envoy by specifying an external metrics store in the proxy-defaults configuration entry or directly in the proxy.config field of the proxy service definition. Refer to the [Envoy bootstrap configuration](/consul/docs/connect/proxies/envoy#bootstrap-configuration) for details.

## Merge Prometheus metrics

When you use Prometheus metrics, Consul Dataplane configures Envoy to serve merged metrics through a single endpoint. The dataplane collects and merges metrics from the following sources:

- Consul Dataplane
- The Envoy process managed by Consul Dataplane
- (optionally) Your service instance running alongside Consul Dataplane

## Metrics Reference

Consul Dataplane supports the following metrics:

| Metric Name                                  | Description                                                                                                                                                                                                             | Unit             | Type    |
| :------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------                               | :--------------- | :------ |
| `consul_dataplane.connect_duration`          | Measures the time `consul-dataplane` spends connecting to a Consul server, including the time to discover Consul server addresses and to complete other setup prior to Envoy opening the xDS stream. | ms               | timer   |
| `consul_dataplane.connected`                 | Indicates whether `consul-dataplane` is currently connected to a Consul server.                                                                                                                                         | 1 or 0           | gauge   |
| `consul_dataplane.connection_errors`         | Measures the number of errors encountered on gRPC streams. This is labeled with the gRPC error status code.                                                                                                             | number of errors | gauge   |
| `consul_dataplane.discover_servers_duration` | Measures the time `consul-dataplane` spends discovering Consul server IP addresses.                                                                                                                                     | ms               | timer   |
| `consul_dataplane.envoy_connected`           | Indicates whether Envoy is currently connected to `consul-dataplane` and able to receive xDS updates.                                                                                                                   | 1 or 0           | gauge   |
| `consul_dataplane.login_duration`            | Measures the time `consul-dataplane` spends logging in to an ACL auth method.                                                                                                                                           | ms               | timer   |