mirror of
https://github.com/status-im/consul.git
synced 2025-01-18 17:52:17 +00:00
166d7a39e8
Remove outdated usage of "Consul Connect" instead of Consul service mesh. The connect subsystem in Consul provides Consul's service mesh capabilities. However, the term "Consul Connect" should not be used as an alternative to the name "Consul service mesh".
59 lines
2.7 KiB
Plaintext
59 lines
2.7 KiB
Plaintext
---
|
|
layout: docs
|
|
page_title: Service Mesh Observability - Overview
|
|
description: >-
|
|
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.
|
|
---
|
|
|
|
# Service Mesh Observability Overview
|
|
|
|
In order to take advantage of the service mesh'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](/consul/docs/agent/config/config-files#grpc_port) on your client agents. To define the
|
|
metrics destination and service protocol you may want to enable [configuration
|
|
entries](/consul/docs/agent/config/config-files#config_entries) and [centralized service
|
|
configuration](/consul/docs/agent/config/config-files#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](/consul/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 [Envoy documentation](/consul/docs/connect/proxies/envoy#bootstrap-configuration).
|
|
|
|
### Service protocol
|
|
|
|
You can specify the [`protocol`](/consul/docs/connect/config-entries/service-defaults#protocol)
|
|
for all service instances in the `service-defaults` configuration entry. You can also override the default protocol when defining and registering proxies in a service definition file. Refer to [Expose Paths Configuration Reference](/consul/docs/connect/registration/service-registration#expose-paths-configuration-reference) for additional information.
|
|
|
|
By default, proxies only provide L4 metrics.
|
|
Defining the protocol allows proxies to handle requests at the L7
|
|
protocol and emit 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`](/consul/docs/connect/registration/service-registration#upstreams)
|
|
sidecar parameter, which can be defined in a service's [sidecar registration](/consul/docs/connect/registration/sidecar-service).
|