2019-06-14 05:52:50 +00:00
|
|
|
---
|
2020-04-07 18:55:19 +00:00
|
|
|
layout: docs
|
|
|
|
page_title: Connect - Observability
|
2020-04-13 18:40:26 +00:00
|
|
|
sidebar_title: Observability
|
2019-06-14 05:52:50 +00:00
|
|
|
description: |-
|
|
|
|
This page documents the configurations necessary for L7 observability using
|
|
|
|
Consul Connect.
|
|
|
|
---
|
|
|
|
|
2019-07-09 02:11:19 +00:00
|
|
|
# Observability
|
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
|
2020-04-09 23:46:54 +00:00
|
|
|
gRPC](/docs/agent/options#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
|
2020-04-09 23:46:54 +00:00
|
|
|
entries](/docs/agent/options#config_entries) and [centralized service
|
|
|
|
configuration](/docs/agent/options#enable_central_service_config).
|
2019-10-14 15:40:35 +00:00
|
|
|
|
|
|
|
If you
|
|
|
|
are using Kubernetes, the Helm chart can simplify much of the necessary
|
2019-06-14 05:52:50 +00:00
|
|
|
configuration, which you can learn about in the [observability
|
2020-08-13 21:02:44 +00:00
|
|
|
tutorial](https://learn.hashicorp.com/tutorials/consul/kubernetes-layer7-observability).
|
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
|
2020-04-09 23:46:54 +00:00
|
|
|
[service registration](/docs/agent/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).
|