[17.0.0.4 以及更新版本]

啟用分散式追蹤

請將環境配置成在 JAX-RS 應用程式中啟用自動化分散式追蹤。opentracing-1.0 特性可以與使用者提供的 opentracing.io.Tracer 實作一起啟用,來容許 JAX-RS 應用程式自動建立、傳播和交付分散式追蹤資訊。

關於這項作業

分散式追蹤
使用分散式追蹤,跨服務界限追蹤某要求的流程,在微服務環境中,當要求通常會流經多項服務時,這樣做很重要。當分散式追蹤處於作用中時,每一項服務會以相關性 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. 設定 OpentracingTracerFactory 實作的 newInstance 方法,以傳回 io.opentracing.Tracer 物件的實例。請針對服務執行所在的環境,確定程式傳回的 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