Jaeger

完成此任務後,您將瞭解如何讓您的應用程式參與使用 Jaeger 進行追蹤,無論您使用哪種語言、框架或平台來建置應用程式。

此任務使用 Bookinfo 範例作為範例應用程式。

若要瞭解 Istio 如何處理追蹤,請瀏覽此任務的概觀

開始之前

  1. 請遵循Jaeger 安裝文件,將 Jaeger 部署到您的叢集中。

  2. 當您啟用追蹤時,您可以設定 Istio 用於追蹤的取樣率。在安裝期間使用 meshConfig.defaultConfig.tracing.sampling 選項來設定取樣率。預設取樣率為 1%。

  3. 部署Bookinfo 範例應用程式。

存取儀表板

遠端存取遙測附加元件詳細說明如何透過閘道設定對 Istio 附加元件的存取權限。

為了測試(和臨時存取),您也可以使用連接埠轉送。假設您已將 Jaeger 部署到 istio-system 命名空間,請使用以下命令:

$ istioctl dashboard jaeger

使用 Bookinfo 範例產生追蹤

  1. 當 Bookinfo 應用程式啟動並執行時,請存取 http://$GATEWAY_URL/productpage 一次或多次以產生追蹤資訊。

    要查看追蹤資料,您必須向您的服務發送請求。請求的數量取決於 Istio 的取樣率,可以使用 遙測 API 進行配置。使用預設的 1% 取樣率,您需要發送至少 100 個請求,才能看到第一個追蹤。要向 productpage 服務發送 100 個請求,請使用以下命令

    $ for i in $(seq 1 100); do curl -s -o /dev/null "http://$GATEWAY_URL/productpage"; done
        
  2. 從儀表板的左側窗格中,從 Service 下拉式選單中選擇 productpage.default,然後點擊 Find Traces(尋找追蹤)

    Tracing Dashboard
    追蹤儀表板
  3. 點擊頂部最新的追蹤,查看對應於最近對 /productpage 的請求的詳細資訊

    Detailed Trace View
    詳細追蹤檢視
  4. 追蹤由一組 span 組成,其中每個 span 對應於一個 Bookinfo 服務,在執行 /productpage 請求期間調用,或內部 Istio 組件,例如:istio-ingressgateway

清理

  1. 使用 Control-C 或以下方式移除可能仍在執行的任何 istioctl 程序

    $ killall istioctl
    
  2. 如果您不打算探索任何後續任務,請參閱 Bookinfo 清理 指示以關閉應用程式。

這些資訊對您有幫助嗎?
您有任何改進建議嗎?

感謝您的回饋!