skywalking-java/docs/en/setup/istio
Gao Hongtao b39c4306a8
Observing Istio control plane (#5835)
* Add Istio control plane otel MAL expressions and UI template
* Remove OpenCensus receiver, add OpenTelemetry receiver
* Transfer oc receiver to ot receiver
* Create indices on boot
* Document istio metrics and otel receiver
* Update CHANGES.md
* Fix potential NPE
* Add group to meter and cleanup istio mixer
* Update e2e case due to the change of meter metric name
* Update prometheus fetcher config, fix sql builder issue of h2
* Disable istio and so11y metrics by default.
* Fix micrometer testcase
2020-11-25 21:07:03 +08:00
..
README.md Observing Istio control plane (#5835) 2020-11-25 21:07:03 +08:00

README.md

Work with Istio

Instructions for transport Istio's metrics to the SkyWalking OAP server.

Prerequisites

Istio should be installed in the kubernetes cluster. Follow Istio getting start to finish it.

Deploy Skywalking backend

Follow the deploying backend in kubernetes to install the OAP server in the kubernetes cluster. Referring to OpenTelemetry receiver to ingest metrics. otel-receiver defaults to be inactive. Set env var SW_OTEL_RECEIVER to default to enable it.

Deploy OpenTelemetry collector

OpenTelemetry collector is the location Istio telemetry sends metrics, then processing and sending them to SkyWalking backend.

Following the 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.

Prometheus receiver

Refer to Prometheus Receiver to set up this receiver. you could find more configuration details in Prometheus Integration of Istio 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:

relabel_configs:
- source_labels: []
  target_label: cluster
  replacement: <cluster name>

or opt to Resource Processor:

processors:
  resource:
    attributes:
    - key: cluster
      value: "<cluster name>"
      action: upsert

Notice, if you try the sample of istio Prometheus Kubernetes configuration, the issues described here might block you. Try to use the solution indicated in this issue if it's not fixed.

OpenCensus exporter

Follow OpenCensus exporter configuration 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 services, including topology among them, we recommend you to consider our ALS solution