mirror of https://github.com/hashicorp/consul
60 lines
2.2 KiB
Markdown
60 lines
2.2 KiB
Markdown
---
|
|
layout: docs
|
|
page_title: Connect - Observability
|
|
description: |-
|
|
This page documents the configurations necessary for L7 observability using
|
|
Consul Connect.
|
|
---
|
|
|
|
# Observability
|
|
|
|
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.
|
|
|
|
If you are using Envoy as your sidecar proxy, you will need to [enable
|
|
gRPC](/docs/agent/options#grpc_port) on your client agents. To define the
|
|
metrics destination and service protocol you may want to enable [configuration
|
|
entries](/docs/agent/options#config_entries) and [centralized service
|
|
configuration](/docs/agent/options#enable_central_service_config).
|
|
|
|
### 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.
|
|
|
|
### 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"
|
|
}
|
|
```
|
|
|
|
Find other possible metrics syncs in the [Connect Envoy documentation](/docs/connect/proxies/envoy#bootstrap-configuration).
|
|
|
|
### Service Protocol
|
|
|
|
You can specify the [service protocol](/docs/connect/config-entries/service-defaults#protocol)
|
|
in the `service-defaults` configuration entry. You can override it in the
|
|
[service registration](/docs/discovery/services). By default, proxies only give
|
|
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
|
|
[`upstreams`](/docs/connect/registration/service-registration#upstreams)
|
|
sidecar parameter, which can be defined in a service's [sidecar
|
|
registration](/docs/connect/registration/sidecar-service).
|