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. Refer 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