Zipkin

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

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

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

開始之前

  1. 請依照 Zipkin 安裝文件將 Zipkin 部署到您的叢集中。

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

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

存取儀表板

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

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

$ istioctl dashboard zipkin

使用 Bookinfo 範例產生追蹤

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

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

    $ for i in $(seq 1 100); do curl -s -o /dev/null "http://$GATEWAY_URL/productpage"; done
        
  2. 從搜尋面板中,點擊加號。從第一個下拉選單中選擇 serviceName,從第二個下拉選單中選擇 productpage.default,然後點擊搜尋圖示。

    Tracing Dashboard
    追蹤儀表板
  3. 點擊 ISTIO-INGRESSGATEWAY 搜尋結果,查看對應到 /productpage 最新請求的詳細資訊。

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

清除

  1. 使用 control-C 移除任何可能仍在執行的 istioctl 程序,或

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

這項資訊是否有用?
您有任何改進建議嗎?

感謝您的回饋!