使用 Trace 工具

查看 Apigee Edge 說明文件。
前往 Apigee X說明文件
資訊

什麼是追蹤工具?

Trace 這項工具可用於疑難排解及監控在 Apigee Edge 上執行的 API Proxy。追蹤記錄 可讓您透過 API Proxy 流程探測每個步驟的詳細資料。

請觀看這部影片,瞭解 Trace 工具。

如何使用 Trace

追蹤相當容易使用。您啟動了追蹤記錄工作階段,然後向 Edge 平台發出 API 呼叫。 然後讀取結果

  1. 按照下方說明存取 API Proxy 頁面。

    Edge

    如何使用 Edge UI 存取 API Proxy 頁面:

    1. 登入 apigee.com/edge
    2. 依序選取「開發」>「開發」API Proxy

    傳統版 Edge (Private Cloud)

    如何使用傳統版 Edge UI 存取 API Proxy 頁面:

    1. 登入「http://ms-ip:9000」(ms-ip 為以下應用程式) Management Server 節點的 IP 位址或 DNS 名稱。
    2. 選取「API」>API Proxy
  2. 從 API Proxy 頁面選取 API Proxy。
  3. 確定您要追蹤的 API 已部署完成。
  4. 按一下「Trace」Trace,前往「Trace」工具檢視畫面。
  5. 使用「Deployment to Trace」下拉式選單選取 決定要追蹤的部署環境和 Proxy 修訂版本
  6. 按一下「Start Trace Session」。Trace 工作階段啟用時,API Proxy 則會記錄處理管道中每個步驟的詳細資料。在 Trace 工作階段執行期間, 訊息和比對內容資料從即時流量擷取。

  7. 如果你沒有任何透過 Proxy 傳輸的即時流量,只要傳送要求即可 至 API您可以使用任何要傳送要求的工具,例如 curl、Postman 或 所有熟悉的工具或者,您也可以直接從 Trace 工具傳送要求。只要輸入 網址,然後按一下「傳送」注意:您只能透過下列位置傳送 GET 要求: 追蹤工具,而非 POST 要求

    注意:每個追蹤記錄工作階段可支援 10 項要求/回應交易 藉此透過所選 API Proxy 傳送訊息處理器搭載 2 個訊息處理器的 Edge 雲端 處理流量,可支援 20 項要求/回應交易。自動追蹤工作階段 如果您並未手動停止,請在 10 分鐘後停止。
  8. 擷取到足夠的要求後,請按一下「Stop Trace」 工作階段
  9. 左側選單會顯示已擷取的要求/回應交易清單。點選以下任一項 即可查看詳細結果。

如何解讀追蹤記錄

追蹤工具分為兩個主要部分:交易對應和階段詳細資料:

  • 交易對應會使用圖示標記各個重要項目 執行步驟,包括政策執行、有條件 步驟和轉換將遊標懸停在任一圖示上,即可查看摘要 可能不準確或不適當要求流程步驟會顯示在交易對應與回應上方 流程步驟
  • 工具清單的「階段詳細資料」部分 Proxy 內部處理的相關資訊,包括設定或讀取的變數 要求和回應標頭等按一下任一圖示即可查看 該步驟的階段詳細資料

以下是追蹤工具地圖範例,其中主要的 Proxy 處理區隔已加上標籤:

追蹤工具的交易對應

交易對應關係 圖例

下表說明您將在交易中看到的圖示意圖 。這些圖示會標記 Proxy 流程中各個值得注意的處理步驟。

交易地圖圖示

將要求傳送至 API Proxy 的 ProxyEndpoint 的用戶端應用程式。
圓圈會標記 Proxy 流程中的轉換端點。那些存在著 要求來自用戶端、當要求傳送到目標時 從目標傳回,並在回應傳回用戶端時。

高長條表示 API Proxy 流程中的流量區隔開頭。流量 分別為:ProxyEndpoint 要求、TargetEndpoint 要求、TargetEndpoint 回應和 ProxyEndpoint 回應。區隔包括 PreFlow、條件流程及 PostFlow。

請參閱設定流程 瞭解詳情

表示 Analytics 動作是在背景發生。

傳回 true 的條件式流程。如需條件式流程簡介 請參閱設定流程

請注意,部分條件是由 Edge 產生,舉例來說, Edge 用來檢查 ProxyEndpoint:

((error.state equals PROXY_REQ_FLOW) or (error.state equals PROXY_RESP_FLOW))

判定為 false 的條件式流程。條件式簡介 流程,請參閱設定流程

請注意,部分條件是由 Edge 產生,舉例來說, Edge 用來檢查 TargetEndpoint:

(((error.state equals TARGET_REQ_FLOW) or (error.state equals TARGET_RESP_FLOW)) or ((error.state equals REQ_SENT) or (error.state equals RESP_START)))

政策。每種政策都有專屬圖示。這適用於 AssignMessage 政策。這些圖示可讓您瞭解政策的執行位置是否正確,以及 但無論如何點選政策圖示即可查看政策 檢查是否正常執行舉例來說,您可以查看 或正在快取的話

我們明確提供適當的政策 打勾。如果發生錯誤,紅色驚嘆號會顯示在 圖示。

提示: 注意工具提示或時間軸,確認是否有任何政策 時間超出預期。

後端目標為 Node.js 應用程式時顯示。詳情請見 Apigee Edge 中的 Node.js 總覽
API Proxy 呼叫的後端目標。
時間線代表處理時間 (以毫秒為單位) 完成。比較已過時間區隔,您就能劃分出需要調整的政策 執行速度最慢,導致 API 呼叫速度變慢。
Epsilon 表示的時間範圍小於一毫秒。

已停用。當政策停用時,顯示在政策圖示上。您可以停用政策 與公用 API 整合請參閱 API Proxy 設定參考資料

發生錯誤,如果政策步驟條件為 false,顯示在政策圖示上 (請參閱 流程變數和條件); 。
已略過。如果因步驟而未執行政策,會顯示於政策圖示上 結果視為 false。 請參閱流程變數和條件。 瞭解詳情

瞭解 階段詳細資料

工具的「階段詳細資料」部分會針對 並在每個處理步驟中執行 Proxy 驗證以下是「階段詳細資料」中提供的部分詳細資料。按一下 查看所選步驟的詳細資料,或使用 「繼續」/「返回」按鈕可從一個步驟進入另一個步驟。

階段詳細資料 說明
Proxy 端點 指出選取要執行的 ProxyEndpoint 流程。API Proxy 可包含 多個已命名 Proxy 端點
變數

列出透過政策讀取並指派值的流程變數。請參閱 使用流程變數管理 Proxy 狀態

注意

  • 等號 (=) 代表指派給變數的值。
  • 交叉式等號等於符號 (≠) 代表無法替變數指派 原因是這是唯讀狀態 或是執行政策時發生錯誤。
  • 如果欄位為空白,表示已讀取變數值。
要求標頭 列出 HTTP 要求標頭。
要求內容 顯示 HTTP 要求主體。
屬性 屬性代表 API Proxy 的內部狀態。提供者 預設值。
目標端點 指出選取要執行作業的目標端點。
回應標頭 列出 HTTP 回應標頭。
回應內容 顯示 HTTP 回應主體。
PostClientFlow 顯示在要求回應後執行的 PostClientFlow 相關資訊 並傳回給提出要求的用戶端應用程式只有 MessageLogging 政策可以附加至 PostClientFlow.PostClientFlow 目前主要用於測量時間 回應訊息開始和結束時間戳記之間的間隔。

使用篩選器修正郵件擷取功能

您可以指定標頭和/或查詢,藉此篩選 Trace 工具顯示的要求 參數值。篩選器可讓您指定可能造成問題的特定來電。 舉例來說,如果要求包含特定內容或要求,您可能需要 0 特定合作夥伴或應用程式中的廣告空間可篩選的項目如下:

  • HTTP 標頭:限制追蹤僅包含包含特定 標題。這有助於您排解問題。您可以將標頭傳送至 ,請他們將這項功能納入引發問題的呼叫中。然後使用 Apigee Edge 只會錄下含有該特定標頭的通話內容,方便您檢查結果。
  • 查詢參數:僅限具有特定參數值的呼叫 。

篩選器功能注意事項

  • 在篩選器中指定篩選器參數後,您必須重新啟動 Trace 工作階段 只要使用來自這些領域的 小型資料集訓練即可
  • 篩選器參數會以 AND 連結,所有指定的查詢和/或標頭名稱/值組合 都必須出現在成功比對的請求中。
  • 篩選器工具不支援模式比對功能。
  • 篩選器參數和值須區分大小寫。

如何建立追蹤記錄 篩選器

  1. 如果追蹤工作階段正在執行,請按一下「Stop Trace」 工作階段
  2. 按一下追蹤工具左上角的「篩選器」展開 篩選器欄位中。

    在追蹤工具中,「篩選器」側欄標籤會以圓圈顯示。
  3. 在「篩選器」欄位中,指定您想要篩選的查詢參數和/或標頭值 保持開啟。在這個範例中,我們指定兩個要篩選的查詢參數。這兩個參數都必須 來比對成功比對的要求中

    在追蹤工具的「篩選器」底下,您會看到兩個範例名稱和值
     是否有設定。
  4. 啟動追蹤工作階段。
  5. 呼叫 API。僅限包含所有指定標頭和/或查詢的要求 參數會產生成功比對。

在「交易」下方,您會看到四個符合兩個預設查詢參數的結果。

在上述範例中,這個 API 呼叫會顯示在 Trace 中:

http://docs-test.apigee.net/cats?name=Penny&breed=Calico

但無法達成以下目標:

http://docs-test.apigee.net/cats?name=Penny

使用 Trace 進行偵錯

Trace 可讓您查看許多關於 API Proxy 的內部詳細資料。例如:

  • 您可以快速瞭解哪些政策正在執行或失敗。
  • 假設您透過 Analytics 資訊主頁發現其中一個 API 成效異常降低您現在可以使用 Trace 找出 瓶頸正在發生Trace 提供以毫秒為單位完成每項工作所需的時間 (以毫秒為單位) 才會完成如果發現某個步驟耗時太長 動作。
  • 查看階段詳細資料 即可檢查傳送至後端的標頭 還可以查看由政策設定的變數,以此類推
  • 透過驗證基本路徑,可確保政策能將訊息轉送至正確位置 伺服器

選取檢視選項

選擇追蹤工作階段的檢視選項。

選項 說明
顯示已停用的政策 顯示所有已停用的政策。您可以使用公用 API 停用政策。詳情請見 API Proxy 設定參考資料
顯示略過的階段 顯示略過的階段。未執行政策時,系統會略過階段 因為步驟條件的評估結果為 false 請參閱流程變數和條件。 瞭解詳情
顯示所有 FlowInfo 代表流量區隔中的轉場效果。
自動比較所選階段 比較所選階段與前一個階段。關閉這項設定,即可只顯示所選項目 事實上,Gartner 的資料顯示 只有一半的企業機器學習專案通過前測階段
顯示變數 顯示或隱藏已讀取和/或指派值的變數。
顯示屬性 屬性代表 API Proxy 的內部狀態。(預設為隱藏)。

正在下載追蹤記錄結果

你可以下載原始追蹤記錄結果的 XML 檔案,以便離線查看及搜尋文字版 編輯。這個檔案會顯示聆聽工作階段的完整詳細資料,包括 所有標題、變數和政策

如要下載,請按一下「Download Trace Session」

將要求顯示為 curl

追蹤對目標伺服器的 API 呼叫後,您就能以 curl 形式查看該要求 指令這項功能特別適合用於偵錯,原因如下:

  • API Proxy 可能會修改要求,因此如果想知道從 Proxy 傳送到 目標伺服器與原始要求不同curl 指令代表修改後的 請求。
  • 針對較大的郵件酬載,curl 可讓您查看 HTTP 標頭和訊息 內容。(目前上限為 1,000 個字元。如需提示 超過此上限時,請參閱 這篇社群貼文)。

為了安全起見,curl 功能會遮蓋 HTTP 授權標頭。

如要在 Trace 傳送 API 呼叫後,以 curl 的形式查看要求,請選取「要求傳送至 目標伺服器」「交易圖」圖表的階段,然後按一下「顯示 curl」 只要在「要求傳送至目標伺服器」欄。

圖片註解指出「顯示 Curl」按鈕和
    交易地圖圖表。

Apigee 支援使用 Trace

根據預設,Apigee Edge 允許 Apigee 支援使用 API Proxy 的追蹤工具來提供支援。您可以隨時停用這個選項。不過,停用此選項可能會限制 Apigee 支援團隊的支援服務。

如要停用 Apigee 支援使用 Trace 工具:

  1. 登入 https://apigee.com/edge
  2. 依序選取左側導覽列中的「管理」>「隱私權與安全性」。
  3. 按一下「Enable Apigee Support」(啟用 Apigee 支援) 切換鈕,停用 Apigee 支援團隊的 Trace 工具。