監控 API 使用量

本頁說明如何使用 API 指標追蹤及瞭解 Google API 和 Google Cloud API 的用量。

Google API 會產生詳細的使用情況指標,可協助您:

  • 追蹤及瞭解 Google API 的使用情況。
  • 監控應用程式和 Google API 的效能。
  • 找出應用程式與 Google API 之間的問題。

在您排解問題或需要 Google 技術支援時,這項功能可大幅加快解決問題的速度。

Google API 產生的指標是標準信號,Google 自家的網站穩定性工程師會用來評估服務的健康狀態。這些指標涵蓋要求計數、錯誤率、總延遲時間、後端延遲時間、要求大小和回應大小。如需 API 指標定義,請參閱 Cloud Monitoring 說明文件

您可以在兩個地方查看 API 指標:API 資訊主頁Cloud Monitoring。您看到的指標是專屬於您專案的資料,不代表整體服務狀態。

使用 API 資訊主頁

如要查看 API 指標,最簡單的方式是使用 Google Cloud 主控台的 API 資訊主頁。您可以查看所有 API 使用情況的總覽,或深入瞭解特定 API 的使用情況。

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

  1. 前往 Cloud Console 的「API 和服務」部分。 系統預設會顯示主要 API 資訊主頁。在這個頁面中,您可以查看目前為專案啟用的所有 API,以及下列指標的總覽圖表:

    • 流量:專案每秒向已啟用 API 發出的要求數量
    • 錯誤:向已啟用 API 發出的要求中,產生錯誤的要求所佔的百分比
    • 延遲時間中位數:已啟用 API 的要求延遲時間中位數 (如有)。

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

  1. 在主要 API 資訊主頁的 API 清單中,選取您要查看的 API。 API 的「總覽」頁面會顯示更詳盡的流量圖表,其中包含各個回應碼的細分資料。
  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 StorageBigQuery 等部分 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 產生者,可以在 Endpoints 資訊主頁查看產生的 API 指標。