skywalking-java/docs/en/setup/envoy
Dhi Aurrahman b8a414edf5 Envoy metrics receiver plugin protos (#2304)
* 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.
2019-03-01 22:13:59 +08:00
..
README.md Envoy metrics receiver plugin protos (#2304) 2019-03-01 22:13:59 +08:00
config.yaml Envoy metrics receiver plugin protos (#2304) 2019-03-01 22:13:59 +08:00
identify.json Envoy metrics receiver plugin protos (#2304) 2019-03-01 22:13:59 +08:00

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.