wu-sheng commented on a change in pull request #5835: URL: https://github.com/apache/skywalking/pull/5835#discussion_r529200763
########## File path: docs/en/setup/istio/README.md ########## @@ -1,28 +1,66 @@ # Work with Istio -Instructions for transport Istio's metrics to SkyWalking OAP server. +Instructions for transport Istio's metrics to the SkyWalking OAP server. ## Prerequisites -Istio should be installed in kubernetes cluster. Follow [Istio getting start](https://istio.io/docs/setup/getting-started/) +Istio should be installed in the kubernetes cluster. Follow [Istio getting start](https://istio.io/docs/setup/getting-started/) to finish it. ## Deploy Skywalking backend -Follow the [deploying backend in kubernetes](../backend/backend-k8s.md) to install oap server in kubernetes cluster. +Follow the [deploying backend in kubernetes](../backend/backend-k8s.md) to install the OAP server in the kubernetes cluster. +Referring to [OpenTelemetry receiver](../backend/backend-receivers.md#OpenTelemetry-receiver) to ingest metrics. -## Setup Istio to send metrics to oap -Our scripts are wrote based on Istio 1.3.3. +## Deploy OpenTelemetry collector +OpenTelemetry collector is the location Istio telemetry sends metrics, then processing and sending them to SkyWalking +backend. -1. Install Istio metric template +Following the [Getting Started](https://opentelemetry.io/docs/collector/getting-started/) to deploy this collector. There +are several components available in the collector, and they could be combined for different scenarios. + For the sake of brevity, we use the Prometheus receiver to retrieve metrics from Istio control and data plane, + then send them to SkyWalking by OpenCensus exporter. -`kubectl apply -f https://raw.githubusercontent.com/istio/istio/1.3.3/mixer/template/metric/template.yaml` +#### Prometheus receiver +Refer to [Prometheus Receiver](https://github.com/open-telemetry/opentelemetry-collector/blob/master/receiver/prometheusreceiver/README.md) + to set up this receiver. you could find more configuration details in [Prometheus Integration of Istio](https://istio.io/latest/docs/ops/integrations/prometheus/#configuration) + to figure out how to direct Prometheus receiver to query Istio metrics. + +SkyWalking supports receiving multi-cluster metrics in a single OAP cluster. A `cluster` label should be appended to every metric +fetched by this receiver even there's only a single cluster needed to be collected. +You could leverage `relabel` to add it like below: -2. Install SkyWalking adapter +``` +relabel_configs: +- source_labels: [] + target_label: cluster + replacement: <cluster name> +``` -`kubectl apply -f skywalkingadapter.yml` +or opt to [Resource Processor](https://github.com/open-telemetry/opentelemetry-collector/blob/master/processor/resourceprocessor/README.md): -Find the `skywalkingadapter.yml` at [here](yaml/skywalkingadapter.yml). +``` +processors: + resource: + attributes: + - key: cluster + value: "<cluster name>" + action: upsert +``` -NOTICE, due to Istio Mixer is default OFF, we recommend you to consider our [ALS solution](../envoy/als_setting.md) \ No newline at end of file +Notice, if you try the sample of istio Prometheus Kubernetes configuration, +the issues described [here](https://github.com/open-telemetry/opentelemetry-collector/issues/2163) might block you. +Try to use the solution indicated in this issue if it's not fixed. + +#### OpenCensus exporter +Follow [OpenCensus exporter configuration](https://github.com/open-telemetry/opentelemetry-collector/blob/master/exporter/opencensusexporter/README.md) +to set up a connection between OpenTelemetry collector and OAP cluster. `endpoint` is the address of OAP gRPC service. + +## Observe Istio + +Open Istio Dashboard in SkyWaling UI by clicking `Dashboard` -> `Istio`, then you're able to view charts and diagrams +generated by Istio metrics. You also could view them by `swctl` and set up alarm rules based on them. + + +NOTICE, if you want metrics of Istio managed service, including topology among them, we recommend you to consider our [ALS solution](../envoy/als_setting.md) Review comment: ```suggestion NOTICE, if you want metrics of Istio managed services, including topology among them, we recommend you to consider our [ALS solution](../envoy/als_setting.md) ``` ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: [email protected]
