分享方式:


教學課程:監視發佈的 API

適用於:所有 APIM 層

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

提示

API 小組可以在工作區中使用這項功能。 工作區提供與 API 及其專屬 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 要求相關資訊。

注意

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

提示

在具有 工作區的 API 管理實例中,API 平臺小組可以存取 API 管理服務之間的同盟記錄以進行集中式 API 監視,而工作區小組則可存取其工作區 API 專屬的記錄。 深入瞭解如何使用工作區進行 Azure 監視器記錄

若要設定資源記錄集合的診斷設定:

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

  2. 在左側功能表的 [監視] 底下,選取 [診斷設定]>[+ 新增診斷設定]

    在入口網站中新增診斷設定的螢幕擷取畫面。

  3. 在 [ 診斷設定 ] 頁面上,輸入或選取設定的詳細數據:

    1. 診斷設定名稱:輸入描述性名稱。
    2. 類別群組:(選用) 為您的案例選取此項目。
    3. [類別]底下:選取一或多個類別。 例如,選取 [與 ApiManagement 網關相關的記錄 ] 來收集對 API 管理閘道大部分要求的記錄。
    4. 在 [目的地詳細資料] 底下,選取一或多個選項,並指定目的地的詳細資料。 例如,將記錄傳送至 Azure Log Analytics 工作區、將記錄封存至記憶體帳戶,或將它們串流至事件中樞。 如需詳細資訊,請參閱 Azure 監視器中的診斷設定
    5. 選取 [儲存]。

    提示

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

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

注意

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

注意

若要啟用 API 管理工作區的診斷設定,請參閱 建立和管理工作區

在 Azure Log Analytics 中檢視記錄和計量

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

若要檢視資料:

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

  2. 在左側功能表中的 [ 監視] 底下,選取 [ 記錄]。

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

    ApiManagementGatewayLogs
    | where TimeGenerated > ago(1d) 
    

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

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

修改 API 記錄設定

當您使用入口網站建立診斷設定以啟用 API 管理閘道或產生式 AI 閘道 (大型語言模型) 記錄的收集時,記錄會以預設設定啟用。 默認設定不包含要求或回應的詳細數據,例如要求或響應主體。 您可以調整所有 API 的記錄設定,或覆寫個別 API 的記錄設定。 例如,調整閘道日誌數據的取樣率或詳細程度,啟用 LLM 請求或響應消息的記錄,或停用某些 API 的記錄。

如需記錄設定的詳細資訊,請參閱 診斷 - 建立或更新API 診斷 - 建立或更新 REST API 參考頁面。

設定所有 API 的記錄設定:

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

設定特定 API 的記錄設定:

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

重要

API 管理會將傳送至 Azure 監視器的記錄項目的大小強制限制為 32 KB。 記錄項目超過限制時的行為取決於記錄類別和記錄的數據屬性:

  • API 管理閘道記錄 - 如果已收集,記錄專案中的每個要求或響應有效負載最多可以達到 8,192 個字節。 如果條目中屬性的合併大小超過 32 KB,API 管理會移除所有本文和追蹤資料以修剪條目。
  • 生成 AI 閘道日誌 - LLM 要求或回應訊息的大小上限為 32 KB,若有收集,則會以單一條目傳送。 大於 32 KB 的訊息會分割並記錄在 32 KB 區塊中,其中包含序號以供稍後重建。 要求訊息和回應訊息不能超過每個 2 MB。

下一步

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

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

前進到下一個教學課程: