監控 API 使用量

API 指標可讓您追蹤 Google API 和 Google Cloud API 的要求計數、錯誤率和延遲時間等信號,協助您監控應用程式效能及排解錯誤。您可以在 API 資訊主頁和 Cloud Monitoring 中檢查遙測資料,其中的指標反映的是專案流量,而非整體服務狀態。如需 API 指標定義,請參閱 Cloud Monitoring 說明文件。

使用 API 資訊主頁

如要查看 API 指標,最簡單的方法是使用 Google Cloud 控制台的「API Dashboard」(API 資訊主頁)。您可以查看所有 API 的用量總覽,也可以深入瞭解特定 API 的用量。

如要查看 API 用量總覽,請按照下列步驟操作:

  1. 前往 Cloud 控制台的「API 和服務」專區。 根據預設,系統會顯示主要的 API 資訊主頁。這個頁面會列出專案目前啟用的所有 API,以及下列指標的總覽圖表:

    • 流量:專案每秒向已啟用 API 發出或與其相關的要求數
    • 錯誤:啟用 API 時,導致錯誤的要求百分比
    • 延遲時間中位數:已啟用 API 的要求延遲時間中位數 (如有)。

如要查看特定 API 的使用情況詳細資料,請按照下列步驟操作:

  1. 在 API 資訊主頁的主要 API 清單中,選取要查看的 API。 API 的「Overview」(總覽) 頁面會顯示更詳細的流量圖表,並依回應代碼細分。
  2. 如要查看更詳細的使用資訊,請選取「查看指標」。根據預設,系統會顯示下列預先建立的圖表,但您也可以查看其他圖表:

    • 各回應代碼的流量
    • 依 API 方法顯示錯誤
    • 整體延遲時間的第 50、第 95、和第 99 百分位數
    • 依 API 方法顯示延遲時間 (中位數)
  3. 如要新增更多圖表,可以從「選取圖表」下拉式選單中選取其他預先建構的圖表。

使用 Cloud Monitoring

如果您使用 Cloud Monitoring,可以透過 Metrics Explorer 深入查看可用的指標資料,進一步瞭解 API 用量。Cloud Monitoring 支援多種指標,您可以結合篩選器和匯總功能,以全新且深入的角度查看應用程式效能。舉例來說,您可以將要求計數指標與 HTTP 回應代碼類別的篩選器結合,建立顯示錯誤率隨時間變化的資訊主頁,也可以查看 Cloud Pub/Sub API 要求的第 95 個百分位數延遲時間。

如要在 Metrics Explorer 中查看 API 指標,請選取「Consumed API」做為資源類型,然後選取其中一個 serviceruntime 指標。接著,使用篩選和匯總選項精細調整資料。找到所需的 API 用量資訊後,您可以使用 Cloud Monitoring 建立自訂資訊主頁和快訊,持續監控及維護穩健的應用程式。實際做法請見下列頁面:

詳情請參閱「Metrics Explorer」。

使用 API 指標排解問題

當您遇到問題而需要與 Google 聯絡時,API 指標可提供非常實用的資訊,有時候您甚至可以藉由這些資訊來自行排解問題,完全不需要聯絡支援小組。例如:

  • 如果向服務發出的所有呼叫都因某個憑證 ID 而失敗,但其他憑證 ID 都沒有問題,有可能是該帳戶發生了無需開立票證就能輕鬆自行解決的問題。
  • 您要排解應用程式的問題,且發現應用程式的效能下降,與某項重大 GCP 服務延遲時間的第 50 個百分位數持續增加有關。這時務必要與我們聯絡並提供這項資料,讓我們能盡快開始處理這個問題。
  • 某 GCP 服務報表中的延遲時間看起來很正常,與之前無兩樣,但應用程式內指標顯示服務呼叫的延遲時間異常地高。這表示網路發生問題。 請致電網路供應商 (在某些情況下為 Google),開始偵錯程序。

最佳做法

雖然 API 指標是非常有用的工具,但您必須考慮一些問題 (尤其是如何根據指標值來設定快訊),才能確保指標提供的是實用資訊。下列最佳做法可協助您充分發揮 API 指標資料的功用。

延遲會造成問題嗎?

某些服務很容易受到延遲時間影響,但對於其他服務而言,規模和穩定性的影響更大。舉例來說,Cloud Storage 或 BigQuery 等部分 API 的延遲時間可能會增加幾秒,但客戶不會注意到。透過 API 指標提供的資料,您可以瞭解使用者對特定服務的需求。

注意異常變化

在您決定針對特定指標值設定快訊之前,請考慮異常行為的確切範疇。從 API 指標中,您可以看出大部分服務的延遲結果都呈現常態分佈:中間隆起像是大駝峰,兩側是離群值。指標有助於您瞭解常態分佈,讓您的應用程式在經過調整後可在分佈曲線的範圍內正常運作。指標還有助於找出分佈的變化與應用程式異常行為之間的關聯,幫助您掌握問題的根本成因。第 99 個百分位數應與中位數有顯著差異,但這些百分位數不應隨著時間而有劇烈變化。

此外,您還可看出某幾種要求的處理時間比其他種類的要求長。如果上傳至 Google 相簿的相片大小中位數為 4 MB,而您通常是上傳 20 MB 的 RAW 檔案,則您上傳 20 張相片所需的平均時間可能遠比大部分的使用者長,但這仍是「您的」正常行為。

這表示在首次偵測到為期一秒的遠端程序呼叫 (RPC) 或 5xx HTTP 呼叫時即發出快訊,並不是特別有用的做法。在調查 Google 服務是否可能為應用程式問題的成因時,請改為比較傳回碼和延遲率的變化,並注意是否有與觀察到的應用程式問題相關的持續性異常變化。

流量速率

API 的流量很大時最能發揮 API 指標的功用。假如您只是不定期呼叫服務,API 指標將不具有統計意義,且無法為您提供實用的分類資訊。

舉例來說,如果您想追蹤服務延遲時間的第 99.5 個百分位數,且您每小時只呼叫 100 次,則兩小時的觀測資料中只會有一個資料點代表第 99.5 個百分位數,無助於您瞭解 API 或應用程式的異常行為。請確保流量速率、要追蹤的百分位數,以及您要觀測的時間範圍可產生許多有意義的資料點,否則監控資料不會有任何幫助。

支援的 API

所有 Google API 和 Google Cloud API,以及以 Cloud Endpoints 和 API Gateway 為基礎建構的 API,都支援 API 指標。如果您是 API 消費者,可以在 API 資訊主頁中查看已使用的 API 指標。如果您是 API 產生者,可以在端點資訊主頁中查看產生的 API 指標。