範例情境

您正在查看 Apigee Edge 說明文件。
查看 Apigee X 說明文件
資訊

按照情境示例逐步瞭解如何排解 API 的 5xx 問題。

# 步驟 說明
1 監控近期 API 流量 查看近期 API 監控資料,瞭解過去 1 小時內曾有流量的所有 API Proxy 和目標。細查 API Proxy 或錯誤率偏高的目標。
2 找出 API 監控資料中的趨勢 針對 API 監控資料 (過去 3 個月內) 的歷來檢視畫面查看,取得更深入的分析。
3 調查 5xx 問題 請查看歷來產生最多相對磁碟區的錯誤代碼,進一步調查 5xx 問題的來源。(通常可使用一或多個錯誤代碼將 5xx 狀態碼分類)。
4 設定 5xx 快訊 設定快訊,即可在 5xx 狀態碼數量超過特定門檻時收到通知。
5 產生含有客戶詳細資料的自訂報表 (選用) (選用) 產生自訂報表,找出觸發 5xx 錯誤的客戶詳細資料。

注意:只有機構組織管理員才能產生自訂報表。

6 將 API Proxy 分組為集合 您可以建立集合來將 API Proxy 分組,並為群組的所有成員設定適當的快訊門檻值,以便更快診斷問題。

7 解決 5xx 問題 根據調查和診斷結果,採取適當行動解決這 5xx 問題。

步驟 1:監控近期 API 流量

如要查看過去 1 小時內曾有流量的 API Proxy 和目標的 API 監控資料,請按照下列步驟操作:

  1. 在 Edge UI 中依序選取「Analyze」>「API Monitoring」>「Recent」,即可存取「Recent」資訊主頁。
  2. 請注意,過去一小時內錯誤率偏高的 API Proxy 和目標。

  3. 點選 API Proxy 或錯誤率偏高的目標,即可在右側窗格中查看詳細資料。請注意,本例的 5xx 錯誤百分比偏高。

如要進一步瞭解這個步驟,請參閱「監控近期 API 流量」一文。

步驟 2:找出 API 監控資料中的趨勢

如要針對過去三個月內曾有流量的 API Proxy 和目標,存取 API 監控資料的歷來檢視畫面:

  1. 在「最近」資訊主頁的右側窗格中,依序選取 「更多」選單 >「在時間軸上查看」,即可存取時間軸資訊主頁。您也可以在 Edge UI 中依序點選「Analyze」>「API Monitoring」>「Timeline」
  2. 查看 API Proxy 或目標隨著時間的變化趨勢。您會發現過去 7 天的趨勢一直都保持一致。

如要進一步瞭解這個步驟,請參閱「找出 API 監控資料中的趨勢」一文。

步驟 3:調查 5xx 問題

Apigee 提供一組錯誤碼,可協助您診斷問題。一般來說,5xx 狀態碼能使用一或多個錯誤代碼分類。

如何調查 5xx 問題:

  1. 在時間軸資訊主頁的右側窗格中,依序選取「「更多」選單」>「在調查中查看」,即可存取調查資訊主頁。您也可以在 Edge UI 中依序點選「Analyze」>「API Monitoring」>「Invetigate」(調查)

    您可以在「調查」資訊主頁中比較錯誤代碼與時間等指標的關聯活動。
  2. 查看錯誤碼與時間矩陣,查看過去 1 小時內的錯誤程式碼活動。請注意,因區塊顏色陰影變化而產生最大相對磁碟區的錯誤代碼。區塊越深,相對音量越大。

    例如,policies.ratelimit.SpikeArrestViolationpolicies.ratelimit.QuotaViolation 錯誤代碼在下列矩陣中顯示了較高的相對磁碟區: 錯誤碼

  3. 按一下 policies.ratelimit.SpikeArrestViolation 列中最暗的區塊 (第一個區塊),即可在右側窗格中查看更多詳細資料。

  4. 請注意,錯誤來源是 perfBenchmark_invalid_v1 API Proxy,而 HTTP 狀態碼是 500500 狀態碼是違反尖峰流量防範政策的常見執行階段錯誤代碼。

  5. 查看「開發人員應用程式發行內容」(位於「潛在原因」面板正下方),找出錯誤率最高的開發人員應用程式。

如要進一步瞭解這個步驟,請參閱「找出問題」一文。

步驟 4:設定 5xx 快訊

根據「調查詳細資料」窗格中選取的情境設定快訊,即可在 5xx 狀態碼數量超過特定門檻時收到通知。

  1. 在調查資訊主頁的右側窗格中,依序選取「「更多」選單」>「建立快訊」

  2. 填寫快訊對話方塊中的欄位。條件欄位會預先填入目前背景資訊的資料。範例說明如下:

  3. 點按「儲存」

日後如果 perfBenchmark_invalid_v1 API Proxy 5 分鐘的 5xx 錯誤率超過 5%,系統會將通知傳送至指定的電子郵件地址,並在 UI 中顯示視覺快訊。例如:

如要進一步瞭解這個步驟,請參閱「設定快訊和通知」一文。

步驟 5:產生含有客戶詳細資料的自訂報表 (選用)

視需要產生自訂報表,以進一步瞭解觸發 5xx 錯誤的客戶。

在「報表」頁面上,根據快訊建立的自訂報表會採用以下格式命名:API Monitoring Generated: alert-name

  1. 請透過下列其中一種方式存取設定快訊時建立的自訂報表:

    • 在左側導覽列中,依序選取「分析」>「自訂報表」>「報表」,即可顯示「報表」頁面。在清單中按一下報表名稱:「API Monitoring Generated: 5xx Alert」

    • 按一下建立快訊時顯示的通知。範例說明如下:

  2. 新增下列維度:

    • 開發人員應用程式
    • 用戶端 ID
    • 用戶端 IP 位址

  3. 如要根據特定開發人員應用程式顯示錯誤率偏高的情形,請新增類似下方的篩選條件:

    and (developer_app eq 'perfBenchmarkApp0')

    注意:在此情況下,請將開發人員應用程式從維度清單中移除。

  4. 點按「儲存」

  5. 執行報表,查看觸發 5xx 狀態碼的開發人員應用程式和用戶端詳細資料。

如要進一步瞭解這個步驟,請參閱「建立自訂報表」一文。

步驟 6:將 API Proxy 分組至集合

您可以建立集合來將 API Proxy 分組,並為群組的所有成員設定適當的快訊門檻值,以便更快診斷問題。

  1. 在 Edge UI 中依序選取「Analyze」>「API Monitoring」>「Collections」,即可顯示「Collections」資訊主頁。
  2. 按一下「+ 最愛」
  3. 選取「Proxy」
  4. 從環境下拉式選單中選取「prod」
  5. 點選「下一步」
  6. 填寫集合對話方塊中的欄位。
  7. 點選「儲存」

接下來,您可以像步驟 4 一樣設定快訊,並將維度設為您在上方定義的集合。

如要進一步瞭解這個步驟,請參閱「管理集合」。

步驟 7:解決 5xx 問題

採取適當行動解決 5xx 問題。例如,根據您的診斷,您可以選擇執行下列其中一項工作:

  • 使用 Apigee Sense 判斷要求遽增是否可疑,並決定封鎖自訂報表中列出的用戶端 IP 位址。
  • 新增配額政策,限制開發人員應用程式在特定時間內可對 API Proxy 發出的連線數量。
  • 透過 API 營利,向開發人員收取使用特定呼叫次數的費用。