2019-06-14 05:52:50 +00:00
---
2020-04-07 18:55:19 +00:00
layout: docs
2022-09-13 20:34:10 +00:00
page_title: Service Mesh Observability: Overview
description: >-
2022-09-15 18:58:47 +00:00
To use Consul's observability features, configure sidecar proxies in the service mesh to collect and emit L7 metrics. Learn about configuring metrics destinations and a service's protocol and upstreams.
2019-06-14 05:52:50 +00:00
---
2022-09-13 20:34:10 +00:00
# Service Mesh Observability Overview
2019-06-14 05:52:50 +00:00
In order to take advantage of Connect's L7 observability features you will need
to:
- Deploy sidecar proxies that are capable of emitting metrics with each of your
services. We have first class support for Envoy.
- Define where your proxies should send metrics that they collect.
- Define the protocols for each of your services.
- Define the upstreams for each of your services.
2019-08-23 15:07:48 +00:00
If you are using Envoy as your sidecar proxy, you will need to [enable
2022-01-11 01:30:50 +00:00
gRPC](/docs/agent/config/config-files#grpc_port) on your client agents. To define the
2019-06-14 05:52:50 +00:00
metrics destination and service protocol you may want to enable [configuration
2022-01-11 01:30:50 +00:00
entries](/docs/agent/config/config-files#config_entries) and [centralized service
configuration](/docs/agent/config/config-files#enable_central_service_config).
2019-10-14 15:40:35 +00:00
2021-03-19 00:20:54 +00:00
### Kubernetes
If you are using Kubernetes, the Helm chart can simplify much of the configuration needed to enable observability. See
our [Kubernetes observability docs](/docs/k8s/connect/observability/metrics) for more information.
2019-06-14 05:52:50 +00:00
### Metrics Destination
For Envoy the metrics destination can be configured in the proxy configuration
entry's `config` section.
```
kind = "proxy-defaults"
name = "global"
config {
"envoy_dogstatsd_url": "udp://127.0.0.1:9125"
}
```
2020-04-09 23:46:54 +00:00
Find other possible metrics syncs in the [Connect Envoy documentation](/docs/connect/proxies/envoy#bootstrap-configuration).
2019-06-14 05:52:50 +00:00
### Service Protocol
2021-01-13 20:48:48 +00:00
You can specify the [service protocol](/docs/connect/config-entries/service-defaults#protocol)
2019-06-14 05:52:50 +00:00
in the `service-defaults` configuration entry. You can override it in the
2022-01-10 23:36:16 +00:00
[service registration](/docs/discovery/services). By default, proxies only give
2019-06-14 05:52:50 +00:00
you L4 metrics. This protocol allows proxies to handle requests at the right L7
protocol and emit richer L7 metrics. It also allows proxies to make per-request
load balancing and routing decisions.
### Service Upstreams
You can set the upstream for each service using the proxy's
2020-04-09 23:46:54 +00:00
[`upstreams`](/docs/connect/registration/service-registration#upstreams)
2019-06-14 05:52:50 +00:00
sidecar parameter, which can be defined in a service's [sidecar
2020-04-09 23:46:54 +00:00
registration](/docs/connect/registration/sidecar-service).