* Add envoy metrics service protos This patch imports protos from envoyproxy/data-plane-api and prometheus/client_model to enable metrics service service feature in SkyWalking OAP. Signed-off-by: Dhi Aurrahman <dio@tetrate.io> * Add Envoy related docs Signed-off-by: Dhi Aurrahman <dio@tetrate.io> * Update the LICENSE to include new protos license From: - envoyproxy/data-plane-api - prometheus/client_model Signed-off-by: Dhi Aurrahman <dio@tetrate.io> * Add a complete config.yaml example Signed-off-by: Dhi Aurrahman <dio@tetrate.io> * Add note on Envoy dynamic config Signed-off-by: Dhi Aurrahman <dio@tetrate.io> * Add protoc-gen-validate license Signed-off-by: Dhi Aurrahman <dio@tetrate.io> * Add samples Signed-off-by: Dhi Aurrahman <dio@tetrate.io> * Make CI and license right. * Update README.md @dhi typo :P * Update README.md Another typo :P * Delete metrics.json metrics.json is included in identify.json and not be linked in document. |
||
|---|---|---|
| .. | ||
| README.md | ||
| config.yaml | ||
| identify.json | ||
README.md
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 entry.
The interesting parts of the config is shown in the config below:
stats_sinks:
- name: envoy.metrics_service
config:
grpc_service:
# Note: we can use google_grpc implementation as well.
envoy_grpc:
cluster_name: skywalking_service
static_resources:
...
clusters:
- name: skywalking_service
connect_timeout: 5s
type: LOGICAL_DNS
http2_protocol_options: {}
dns_lookup_family: V4_ONLY
lb_policy: ROUND_ROBIN
load_assignment:
cluster_name: service_stats
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.
Metrics data
Some of the Envoy statitics are listed in this list. While a sample data that contains idetifier can be found here, while the metrics only can be observed here.