[17.0.0.4 and later]

분산 추적 사용

JAX-RS 애플리케이션에서 자동 분산 추적을 사용할 수 있도록 환경을 구성하십시오. 사용자가 제공한 opentracing.io.Tracer 구현과 함께 opentracing-1.0 기능을 사용하여 JAX-RS 애플리케이션이 분산 추적 정보를 자동으로 작성, 전파 및 전달하도록 할 수 있습니다.

이 태스크 정보

분산 추적
분산 추적을 사용하여 서비스 경계에서 요청의 플로우를 추적합니다. 이 플로우는 요청이 일반적으로 여러 서비스를 통해 전달되는 마이크로서비스 환경에서 중요합니다. 분산 추적이 활성화되면 각 서비스는 상관 ID로 추적 레코드를 작성합니다. 사용된 상관 ID는 업스트림 서비스에서 전파된 ID일 수도 있습니다. 분산 추적 로깅의 공통된 컴패니온은 이 예제에서와 같이 분산 추적 레코드의 스토리지 서비스입니다. 스토리지 서비스를 사용하여 서비스에서 특정 요청 플로우와 연관된 추적 레코드를 봅니다.
Opentracing.io
opentracing.io 프로젝트는 분산 추적 서비스를 인스트루먼트화하기 위한 표준 API를 제공합니다. opentracing.io API를 사용하여 분산 추적을 위한 모든 서비스를 인스트루먼트화하는 경우 배치 시 서비스를 구성할 수 있습니다. 서비스의 언어에 대한 구현 라이브러리가 있는 경우 서비스에서 공통 시스템 구현을 사용하여 로그 레코드의 형식을 지정하고 서비스 간 상관 ID를 전파하도록 하십시오. 공통 구현은 모든 서비스에서 이해할 수 있도록 상관 ID를 전파합니다. 또한 이 구현은 로그 레코드의 형식을 지정하여 서버가 분산 추적 레코드 스토리지에 대해 해당 로그 레코드를 이해할 수 있도록 합니다.

프로시저

  1. 사용자 기능을 제공하십시오. ${wlp.user.dir}/extension 디렉토리에서 io.opentracing.Tracer 구현으로 사용자 기능을 작성하고 설치하십시오.
    1. Liberty와 함께 사용할 Zipkin Opentracing 추적기 구현에서 Zipkin 특정 opentracing.io API 구현을 제공하는 기능에 대한 샘플 소스 코드에 액세스하십시오. Maven 저장소에 Zipkin 특정 opentracing.io API 구현을 제공하는 사용자 기능의 빌드된 버전에 액세스하십시오.
    2. 사용자 기능이 com.ibm.ws.opentracing.tracer.OpentracingTracerFactory 인터페이스를 구현하는 OSGI 서비스를 제공하도록 하십시오.
      package com.ibm.ws.opentracing.tracer;
      
      import io.opentracing.Tracer;
      
      public interface OpentracingTracerFactory {
      
          Tracer newInstance(String serviceName);
      
      }
    1. io.opentracing.Tracer 오브젝트의 인스턴스를 리턴하도록 OpentracingTracerFactory 구현의 newInstance 메소드를 설정하십시오. 프로그램이 리턴하는 Tracer 오브젝트가 서비스가 실행되는 환경에 대한 올바른 구현인지 확인하십시오. Liberty와 함께 사용할 Zipkin Opentracing 추적기 구현의 예제에서 Tracer는 Zipkin 서버가 사용 가능한 환경에서 통신하는 인스턴스입니다.
    2. 환경에서 Zipkin 서버를 사용하지 않는 경우, 환경의 분산 추적 서버와 통신하는 Tracer 오브젝트를 제공하도록 구현을 변경하십시오. 사용자 기능을 작성할 때 두 개의 아티팩트를 생성합니다.
      • OpentracingTracerFactory 구현 및 Tracer 구현이 있는 .jar 파일
      • 사용자 기능에 대한 설명이 있는 mf 파일

      Liberty와 함께 사용할 Zipkin Opentracing 추적기 구현의 예제에서는 다음 위치에 두 개의 파일이 작성됩니다.

      target/extension/lib/com.ibm.ws.opentracing.zipkintracer-0.30.jar
      target/extension/lib/features/opentracingZipkin-0.30.mf
    3. 환경의 모든 Liberty 서버에 대한 구현이 포함된 .jar 파일을 ${wlp.user.dir}/extension/lib 디렉토리로 복사하십시오.
    4. 환경의 모든 Liberty 서버에 대한 기능 설명이 포함된 .mf 파일을 ${wlp.user.dir}/extension/lib/features 디렉토리로 복사하십시오.
  2. 서버를 구성하십시오. 서버 환경의 server.xml 파일에서 사용자 기능을 사용으로 설정하십시오.
    1. 환경의 각 Liberty 서버에서 기능을 사용으로 설정하십시오. 작성한 .mf 파일에는 IBM-ShortName이라는 특성이 포함되어 있습니다. IBM-ShortName 특성의 값은 각 Liberty 서버의 server.xml 파일에서 사용 가능한 기능 이름입니다. Liberty와 함께 사용할 Zipkin Opentracing 추적기 구현의 예제에서 IBM-ShortName 특성의 값은 opentracingZipkin-0.30입니다. 이 기능을 사용하려면 각 server.xml 파일에 다음 코드를 추가하십시오.
      <featureManager>
      	<feature>usr:opentracingZipkin-0.30</feature>
      </featureManager>
      Liberty와 함께 사용할 Zipkin Opentracing 추적기 구현의 샘플은 server.xml 파일에서 구성 매개변수를 허용합니다. 기본 서비스 이름이 zipkin이고 기본 포트가 9411인 환경에서 Zipkin 서버에 연결할 수 없는 경우 각 서버에 opentracingZipkin> 구성 요소를 추가하여 호스트 및 포트를 구성하십시오.
      <opentracingZipkin host=”Zipkin Host Name” port=”Zipkin Port Number”/>

주제의 유형을 표시하는 아이콘 태스크 주제

파일 이름: twlp_dist_tracing.html