Working with Istio

This document provides instructions on transporting Istio’s metrics to the SkyWalking OAP server.

Prerequisites

Istio should be installed in the Kubernetes cluster. Simply follow the steps in Getting Started in Istio.

Deploying SkyWalking backend

Follow the steps in deploying backend in Kubernetes to install the OAP server in the Kubernetes cluster. Refer to OpenTelemetry receiver to ingest metrics. otel-receiver is disabled by default. Set env var SW_OTEL_RECEIVER to default to enable it.

Deploying OpenTelemetry Collector

OpenTelemetry Collector is the location where Istio telemetry sends metrics, which is then processed and sent to SkyWalking backend.

Follow the steps in Getting Started in OpenTelemetry Collector to deploy this collector. There are several components available in the collector, and they could be combined for different use cases. 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 if there’s only a single cluster needed to be collected. You could use relabel to add it, like this:

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

or you can do so through Resource Processor:

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

Note: If you try the sample Istio Prometheus Kubernetes configuration, you may experience an issue. Try to fix it using the solution described in the issue.

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.

Observing Istio

Open Istio Dashboard in SkyWaling UI by clicking Dashboard -> Istio. You can then view charts and diagrams generated by Istio metrics. You may also view them through swctl and set up alarm rules based on them.

NOTE: If you would like to see metrics of Istio managed services, including topology, you may try our ALS solution.