45 lines
1.7 KiB
Markdown
45 lines
1.7 KiB
Markdown
# Configuring Envoy to send metrics to SkyWalking
|
|
|
|
In order to let Envoy to send metrics to SkyWalking, we need to feed Envoy with a configuration which contains `stats_sinks` that includes `envoy.metrics_service`.
|
|
This `envoy.metrics_service` should be configured as a [`config.grpc_service`](https://www.envoyproxy.io/docs/envoy/latest/api-v2/api/v2/core/grpc_service.proto#envoy-api-msg-core-grpcservice) entry.
|
|
|
|
The interesting parts of the config is shown in the config below:
|
|
|
|
```yaml
|
|
stats_sinks:
|
|
- name: envoy.metrics_service
|
|
config:
|
|
grpc_service:
|
|
# Note: we can use google_grpc implementation as well.
|
|
envoy_grpc:
|
|
cluster_name: service_skywalking
|
|
|
|
static_resources:
|
|
...
|
|
clusters:
|
|
- name: service_skywalking
|
|
connect_timeout: 5s
|
|
type: LOGICAL_DNS
|
|
http2_protocol_options: {}
|
|
dns_lookup_family: V4_ONLY
|
|
lb_policy: ROUND_ROBIN
|
|
load_assignment:
|
|
cluster_name: service_skywalking
|
|
endpoints:
|
|
- lb_endpoints:
|
|
- endpoint:
|
|
address:
|
|
socket_address:
|
|
address: skywalking
|
|
# This is the port where SkyWalking serving the Envoy Metrics Service gRPC stream.
|
|
port_value: 11800
|
|
```
|
|
|
|
A more complete static configuration, can be observed [here](config.yaml).
|
|
|
|
Note that Envoy can also be configured dynamically through [xDS Protocol](https://github.com/envoyproxy/data-plane-api/blob/master/XDS_PROTOCOL.md).
|
|
|
|
# Metrics data
|
|
|
|
Some of the Envoy statistics are listed in this [list](https://www.envoyproxy.io/docs/envoy/latest/configuration/statistics). A sample data that contains identifier can be found [here](identify.json), while the metrics only can be observed [here](metrics.json).
|