Apache SkyWalking

Apache SkyWalking is an application performance monitoring (APM) system, especially designed for microservices, cloud native and container-based architectures. SkyWalking is a one-stop solution for observability that not only provides distributed tracing ability like Jaeger and Zipkin, metrics ability like Prometheus and Grafana, logging ability like Kiali, it also extends the observability to many other scenarios, such as associating the logs with traces, collecting system events and associating the events with metrics, service performance profiling based on eBPF, etc.

Installation

Option 1: Quick start

Istio provides a basic sample installation to quickly get SkyWalking up and running:

Zip

  1. $ kubectl apply -f @samples/addons/extras/skywalking.yaml@

This will deploy SkyWalking into your cluster. This is intended for demonstration only, and is not tuned for performance or security.

Istio proxies by default don’t send traces to SkyWalking. You will also need to enable the SkyWalking tracing extension provider by adding the following fields to your configuration:

  1. apiVersion: install.istio.io/v1alpha1
  2. kind: IstioOperator
  3. spec:
  4. meshConfig:
  5. extensionProviders:
  6. - skywalking:
  7. service: tracing.istio-system.svc.cluster.local
  8. port: 11800
  9. name: skywalking
  10. defaultProviders:
  11. tracing:
  12. - "skywalking"

Option 2: Customizable install

Consult the SkyWalking documentation to get started. No special changes are needed for SkyWalking to work with Istio.

Once SkyWalking is installed, remember to modify the option --set meshConfig.extensionProviders[0].skywalking.service to point to the skywalking-oap deployment. See ProxyConfig.Tracing for advanced configuration such as TLS settings.

Usage

For more information on using SkyWalking, please refer to the SkyWalking task.