共用方式為


教學課程:監視發佈的 API

適用於:所有 APIM 層

您可以使用 Azure 監視器,對來自 Azure API 管理服務的計量或記錄進行視覺化、查詢、路由、封存及操作。

注意

目前,此功能無法在工作區中使用。

在本教學課程中,您會了解如何:

  • 檢視 API 的計量
  • 設定警示規則
  • 檢視活動記錄
  • 啟用和檢視資源記錄

注意

APIM 支援使用一系列其他工具來觀察 API,包括內建分析,以及與 Application Insights 整合。 深入了解

必要條件

檢視 API 的計量

API 管理會每分鐘發出計量,讓您近乎即時地了解 API 的狀態和健康情況。 以下是最常使用的計量。 如需所有可用計量的清單,請參閱支援的計量

  • 容量 - 協助您決定是否升級/降級 APIM 服務。 計量每分鐘發出,並反映提出報告時預估的閘道容量。 計量的範圍為 0 到 100,是根據 CPU 和記憶體使用率等閘道資源和其他因素計算而來。

    提示

    v2 服務層級中,API 管理 已將容量計量取代為個別的 CPU 和記憶體使用率計量。 這些計量也可用於調整決策和疑難排解。 深入了解

  • 要求 - 協助您分析通過 API 管理服務的 API 流量。 計量會每分鐘發出,並回報具有維度的閘道要求數目。 依回應碼、位置、主機名稱和錯誤來篩選要求。

重要

下列計量已遭淘汰:閘道要求總數、成功的閘道要求、未經授權的閘道要求、失敗的閘道要求、其他閘道要求。 請移轉至提供類似功能的 [要求] 計量。

API 管理概觀中計量的螢幕擷取畫面

存取計量:

  1. Azure 入口網站中,瀏覽至您的 API 管理執行個體。 在 [概觀] 頁面的 [監視] 索引標籤上,檢閱 API 的重要計量。

  2. 若要詳細調查計量,請從左側功能表中選取 [監視>計量]。

    入口網站中 [監視] 功能表的 [計量] 項目的螢幕擷取畫面。

  3. 從下拉式清單中,選取您想了解的計量。 例如, 要求

  4. 該圖表會顯示 API 呼叫的總數。 調整時間範圍,將焦點放在感興趣的期間。

  5. 您可以使用 [要求] 計量的維度來篩選圖表。 例如,選取 [新增篩選]、選取 [後端回應碼類別],然後輸入 500 作為值。 圖表中會顯示出 API 後端中已失敗的要求數目。

設定警示規則

您可以根據計量和活動記錄來接收警示。 在 Azure 監視器中,設定警示規則,以在觸發時執行動作。 常見動作包括:

  • 傳送電子郵件通知
  • 呼叫 Webhook
  • 叫用 Azure 邏輯應用程式

若要根據要求計量來設定範例警示規則:

  1. Azure 入口網站中,瀏覽至您的 API 管理執行個體。

  2. 從左側功能表中選取 [監視>警示]。

    入口網站中 [監視] 功能表的 [警示] 選項的螢幕擷取畫面。

  3. 選取 [+ 建立]>[警示規則]

  4. 在 [ 條件] 索引標籤上:

    1. 在 [訊號名稱] 中,選取 [要求]
    2. 在 [警示邏輯] 中,檢閱或修改警示的預設值。 例如,更新靜態 閾值,這是應該觸發警示之後發生的次數。
    3. 在 [依維度分割] 的 [維度名稱] 中,選取 [閘道回應碼類別]
    4. 在 [維度值] 中,針對用戶端錯誤 (例如未經授權或無效的要求) 選取 [4xx]。 如果維度值未出現,則選取 [新增自訂值],然後輸入 4xx
    5. 在 [何時評估] 中,接受預設設定,或選取其他設定來設定規則的執行頻率。 選取 [下一步]。

    在入口網站中設定警示邏輯的螢幕擷取畫面。

  5. 在 [動作] 索引標籤上,選取或建立一或多個「動作群組」,以通知使用者有警示並採取動作。 例如,建立新的動作群組,以將通知電子郵件傳送至 admin@contoso.com。 如需詳細步驟,請參閱在 Azure 入口網站中建立和管理動作群組

    在入口網站中設定新動作群組通知的螢幕擷取畫面。

  6. 在 [建立警示規則] 的 [詳細資料] 索引標籤上,輸入警示規則的名稱和描述,然後選取嚴重性層級。

  7. 選擇性地設定剩餘的設定。 接著,在 [檢閱 + 建立] 索引標籤上,選取 [建立]

  8. 選擇性地使用 HTTP 用戶端來模擬觸發警示的要求,以測試警示規則。 例如,在終端機中執行下列命令,並以 API 管理 實例的主機名取代 API 管理 主機名:

    curl GET https://contoso.azure-api.net/non-existent-endpoint HTTP/1.1 
    

    警示會根據評估週期觸發,並會傳送電子郵件至 admin@contoso.com。

    警示也會出現在 API 管理執行個體的 [警示] 頁面上。

    入口網站中警示的螢幕擷取畫面。

活動記錄

活動記錄會提供您在 API 管理服務上執行作業的見解。 您可以使用活動記錄來判斷 API 管理服務上所執行之任何寫入作業 (PUT、POST、DELETE) 的「內容、對象和時間」。

注意

活動記錄不包含讀取 (GET) 作業或 Azure 入口網站 中執行的作業。

您可以在 API 管理服務中存取活動記錄,或在 Azure 監視器中存取所有 Azure 資源的記錄。

入口網站中活動記錄的螢幕擷取畫面。

若要檢視活動記錄:

  1. Azure 入口網站中,瀏覽至您的 API 管理執行個體。

  2. 選取 [活動記錄]

    入口網站中 [監視] 功能表的 [活動記錄] 項目的螢幕擷取畫面。

  3. 選取所需的篩選範圍,然後選取 [套用]

資源記錄

資源記錄 (Azure 監視器記錄) 會提供有關 APIM 作業與錯誤的豐富資訊,這些資訊在進行稽核與疑難排解時十分重要。 透過診斷設定啟用時,記錄會收集 APIM 閘道所接收和處理的 API 要求相關資訊。

注意

使用層不支援收集資源記錄。

若要設定資源記錄:

  1. Azure 入口網站中,瀏覽至您的 API 管理執行個體。

  2. 選取 [監視>診斷設定]。

    入口網站中 [監視] 功能表的 [診斷設定項目] 的螢幕擷取畫面。

  3. 選取 +新增診斷設定

  4. 選取您要收集的記錄或計量。

    關於要將記錄和計量傳送到何處,您有數個選項。 例如,將資源記錄連同計量封存至儲存體帳戶、將其串流至事件中樞,或將其傳送至 Log Analytics 工作區。

    提示

    如果您選取 Log Analytics 工作區,則可選擇將資料儲存在資源專屬的 ApiManagementGatewayLogs 資料表中,或儲存在一般 AzureDiagnostics 資料表中。 我們建議針對支援其記錄目的地使用資源特定資料表。 深入了解

  5. 為一個多個記錄目的地設定詳細資料之後,選取 [儲存]

注意

如果 APIM 服務的 MinApiVersion 屬性設定為高於 2022-09-01-preview 的任何 API 版本,新增診斷設定物件可能就會導致失敗。

如需詳細資訊,請參閱建立診斷設定以將平台記錄和計量傳送至不同目的地

在 Azure 監視器中檢視記錄和計量

如果您在 Log Analytics 工作區中啟用收集記錄或計量的功能,則可能需要幾分鐘的時間,資料才會出現在 Azure 監視器中。

若要檢視資料:

  1. Azure 入口網站中,瀏覽至您的 API 管理執行個體。

  2. 從左側功能表中,選取 [記錄]

    入口網站中 [監視] 功能表的 [記錄] 項目的螢幕擷取畫面。

  3. 執行查詢以檢視資料。 您可以使用數個隨附的範例查詢,或執行您自己的查詢。 例如,下列查詢會從 ApiManagementGatewayLogs 資料表中擷取最近 24 小時的資料:

    ApiManagementGatewayLogs
    | where TimeGenerated > ago(1d) 
    

    在入口網站中查詢 ApiManagementGatewayLogs 資料表的螢幕擷取畫面。

如需與使用 API 管理的資源記錄有關的詳細資訊,請參閱:

修改 API 記錄設定

根據預設,當您建立診斷設定來啟用收集資源記錄的功能時,即會針對所有 API 啟用記錄功能,並具有預設設定。 您可以調整所有 API 的記錄設定,或覆寫個別 API 的記錄設定。 例如,調整取樣率或資料的詳細資訊、啟用標頭記錄或要求或回應承載,或停用某些 API 的記錄。

如需記錄設定的詳細資料,請參閱診斷記錄設定參考

設定所有 API 的記錄設定:

  1. 在 API 管理 實例的左側功能表中,選取 [API>>API 所有 API]。
  2. 從頂端列中,選取 [設定] 索引標籤。
  3. 向下捲動至 [診斷記錄] 區段,然後選取 [Azure 監視器] 索引標籤。
  4. 檢閱設定,並視需要進行變更。 選取 [儲存]。

設定特定 API 的記錄設定:

  1. 在 API 管理 實例的左側功能表中,選取 [API>API],然後選取 API 的名稱。
  2. 從頂端列中,選取 [設定] 索引標籤。
  3. 向下捲動至 [診斷記錄] 區段,然後選取 [Azure 監視器] 索引標籤。
  4. 檢閱設定,並視需要進行變更。 選取 [儲存]。

重要

如果啟用,記錄的要求或回應承載最多可達 8,192 個字元組。 API 管理也會針對傳送至 Azure 監視器的診斷記錄項目強制執行 32 KB 的限制,其中包括承載和其他屬性,例如狀態碼、標頭和時間戳記。 如果屬性的組合大小超過 32 KB,API 管理會移除所有內文和追蹤內容來修剪項目。

下一步

在本教學課程中,您已了解如何:

  • 檢視 API 的計量
  • 設定警示規則
  • 檢視活動記錄
  • 啟用和檢視資源記錄

前進到下一個教學課程: