Apache SkyWalking

Apache SkyWalking

Apache SkyWalking은 마이크로서비스, 클라우드 네이티브, 컨테이너 기반 아키텍처를 위해 특별히 설계된 애플리케이션 성능 모니터링(APM) 시스템이에요. SkyWalking은 분산 추적을 제공하는 Jaeger·Zipkin, 메트릭을 제공하는 Prometheus·Grafana, 로깅 능력을 제공하는 Kiali 같은 기능뿐 아니라, 로그를 추적과 연결하거나 시스템 이벤트를 수집해 이벤트와 메트릭을 연결하고, eBPF 기반 서비스 성능 프로파일링을 하는 등 관측성을 다양한 시나리오로 확장해주는 원스톱 관측성 솔루션이에요.

출처: Istio 문서

본문

설치 (Installation)

옵션 1: 빠른 시작 (Quick start)

Istio는 SkyWalking을 빠르게 띄울 수 있는 기본 샘플 설치를 제공해요:

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

이 명령이 클러스터에 SkyWalking을 배포해줘요. 이 설치는 데모용으로만 의도된 것이고, 성능이나 보안을 위해 튜닝된 건 아니에요.

기본적으로 Istio 프록시는 SkyWalking으로 추적을 보내지 않아요. SkyWalking 추적 확장 제공자(extension provider)를 활성화하려면 구성에 다음 필드들을 추가해야 해요:

apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
spec:
  meshConfig:
    extensionProviders:
      - skywalking:
          service: tracing.istio-system.svc.cluster.local
          port: 11800
        name: skywalking
    defaultProviders:
        tracing:
        - "skywalking"

옵션 2: 커스터마이징 가능한 설치 (Customizable install)

시작하려면 SkyWalking 문서를 참고해요. SkyWalking이 Istio와 함께 동작하기 위해 특별한 변경이 필요하지는 않아요.

SkyWalking을 설치한 뒤에는 --set meshConfig.extensionProviders0.skywalking.service 옵션을 수정해 skywalking-oap 배포를 가리키도록 해야 한다는 걸 기억해요. TLS 설정 같은 고급 구성은 ProxyConfig.Tracing을 참고해요.

사용법 (Usage)

SkyWalking 사용에 대한 정보는 SkyWalking 태스크 문서를 참고해요.

See also

Apache SkyWalking — 프록시가 Apache SkyWalking으로 추적 요청을 보내도록 구성하는 방법 배우기.

Jaeger — Jaeger와 연동하는 방법.

Zipkin — Zipkin과 연동하는 방법.

추적 샘플링 구성 — 프록시에서 추적 샘플링을 구성하는 다양한 방법 배우기.

MeshConfig와 파드 어노테이션으로 추적 구성 — MeshConfig와 파드 어노테이션을 사용해 추적 옵션을 구성하는 방법.

Telemetry API로 추적 구성 — Telemetry API를 사용해 추적 옵션을 구성하는 방법.

더 알아보기 (Learn more)