教學課程:監視發佈的 API
適用於:所有 APIM 層
您可以使用 Azure 監視器,對來自 Azure API 管理服務的計量或記錄進行視覺化、查詢、路由、封存及操作。
注意
目前,此功能無法在工作區中使用。
在本教學課程中,您會了解如何:
- 檢視 API 的計量
- 設定警示規則
- 檢視活動記錄
- 啟用和檢視資源記錄
注意
APIM 支援使用一系列其他工具來觀察 API,包括內建分析,以及與 Application Insights 整合。 深入了解
必要條件
- 了解 Azure API 管理術語。
- 完成下列快速入門:建立 Azure API 管理執行個體。
- 同時也請完成下列教學課程:匯入和發佈您的第一個 API。
檢視 API 的計量
API 管理會每分鐘發出計量,讓您近乎即時地了解 API 的狀態和健康情況。 以下是最常使用的計量。 如需所有可用計量的清單,請參閱支援的計量。
容量 - 協助您決定是否升級/降級 APIM 服務。 計量每分鐘發出,並反映提出報告時預估的閘道容量。 計量的範圍為 0 到 100,是根據 CPU 和記憶體使用率等閘道資源和其他因素計算而來。
要求 - 協助您分析通過 API 管理服務的 API 流量。 計量會每分鐘發出,並回報具有維度的閘道要求數目。 依回應碼、位置、主機名稱和錯誤來篩選要求。
重要
下列計量已遭淘汰:閘道要求總數、成功的閘道要求、未經授權的閘道要求、失敗的閘道要求、其他閘道要求。 請移轉至提供類似功能的 [要求] 計量。
存取計量:
在 Azure 入口網站中,瀏覽至您的 API 管理執行個體。 在 [概觀] 頁面的 [監視] 索引標籤上,檢閱 API 的重要計量。
若要詳細調查計量,請從左側功能表中選取 [監視>計量]。
從下拉式清單中,選取您想了解的計量。 例如, 要求。
該圖表會顯示 API 呼叫的總數。 調整時間範圍,將焦點放在感興趣的期間。
您可以使用 [要求] 計量的維度來篩選圖表。 例如,選取 [新增篩選]、選取 [後端回應碼類別],然後輸入
500
作為值。 圖表中會顯示出 API 後端中已失敗的要求數目。
設定警示規則
您可以根據計量和活動記錄來接收警示。 在 Azure 監視器中,設定警示規則,以在觸發時執行動作。 常見動作包括:
- 傳送電子郵件通知
- 呼叫 Webhook
- 叫用 Azure 邏輯應用程式
若要根據要求計量來設定範例警示規則:
在 Azure 入口網站中,瀏覽至您的 API 管理執行個體。
從左側功能表中選取 [監視>警示]。
選取 [+ 建立]>[警示規則]。
在 [ 條件] 索引標籤上:
- 在 [訊號名稱] 中,選取 [要求]。
- 在 [警示邏輯] 中,檢閱或修改警示的預設值。 例如,更新靜態 閾值,這是應該觸發警示之後發生的次數。
- 在 [依維度分割] 的 [維度名稱] 中,選取 [閘道回應碼類別]。
- 在 [維度值] 中,針對用戶端錯誤 (例如未經授權或無效的要求) 選取 [4xx]。 如果維度值未出現,則選取 [新增自訂值],然後輸入 4xx。
- 在 [何時評估] 中,接受預設設定,或選取其他設定來設定規則的執行頻率。 選取 [下一步]。
在 [動作] 索引標籤上,選取或建立一或多個「動作群組」,以通知使用者有警示並採取動作。 例如,建立新的動作群組,以將通知電子郵件傳送至
admin@contoso.com
。 如需詳細步驟,請參閱在 Azure 入口網站中建立和管理動作群組。在 [建立警示規則] 的 [詳細資料] 索引標籤上,輸入警示規則的名稱和描述,然後選取嚴重性層級。
選擇性地設定剩餘的設定。 接著,在 [檢閱 + 建立] 索引標籤上,選取 [建立]。
選擇性地使用 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 資源的記錄。
若要檢視活動記錄:
在 Azure 入口網站中,瀏覽至您的 API 管理執行個體。
選取 [活動記錄]。
選取所需的篩選範圍,然後選取 [套用]。
資源記錄
資源記錄 (Azure 監視器記錄) 會提供有關 APIM 作業與錯誤的豐富資訊,這些資訊在進行稽核與疑難排解時十分重要。 透過診斷設定啟用時,記錄會收集 APIM 閘道所接收和處理的 API 要求相關資訊。
注意
使用層不支援收集資源記錄。
若要設定資源記錄:
在 Azure 入口網站中,瀏覽至您的 API 管理執行個體。
選取 [監視>診斷設定]。
選取 +新增診斷設定。
選取您要收集的記錄或計量。
關於要將記錄和計量傳送到何處,您有數個選項。 例如,將資源記錄連同計量封存至儲存體帳戶、將其串流至事件中樞,或將其傳送至 Log Analytics 工作區。
提示
如果您選取 Log Analytics 工作區,則可選擇將資料儲存在資源專屬的 ApiManagementGatewayLogs 資料表中,或儲存在一般 AzureDiagnostics 資料表中。 我們建議針對支援其記錄目的地使用資源特定資料表。 深入了解
為一個多個記錄目的地設定詳細資料之後,選取 [儲存]。
注意
如果 APIM 服務的 MinApiVersion 屬性設定為高於 2022-09-01-preview 的任何 API 版本,新增診斷設定物件可能就會導致失敗。
如需詳細資訊,請參閱建立診斷設定以將平台記錄和計量傳送至不同目的地。
在 Azure 監視器中檢視記錄和計量
如果您在 Log Analytics 工作區中啟用收集記錄或計量的功能,則可能需要幾分鐘的時間,資料才會出現在 Azure 監視器中。
若要檢視資料:
在 Azure 入口網站中,瀏覽至您的 API 管理執行個體。
從左側功能表中,選取 [記錄]。
執行查詢以檢視資料。 您可以使用數個隨附的範例查詢,或執行您自己的查詢。 例如,下列查詢會從 ApiManagementGatewayLogs 資料表中擷取最近 24 小時的資料:
ApiManagementGatewayLogs | where TimeGenerated > ago(1d)
如需與使用 API 管理的資源記錄有關的詳細資訊,請參閱:
修改 API 記錄設定
根據預設,當您建立診斷設定來啟用收集資源記錄的功能時,即會針對所有 API 啟用記錄功能,並具有預設設定。 您可以調整所有 API 的記錄設定,或覆寫個別 API 的記錄設定。 例如,調整取樣率或資料的詳細資訊、啟用標頭記錄或要求或回應承載,或停用某些 API 的記錄。
如需記錄設定的詳細資料,請參閱診斷記錄設定參考。
設定所有 API 的記錄設定:
- 在 API 管理 實例的左側功能表中,選取 [API>>API 所有 API]。
- 從頂端列中,選取 [設定] 索引標籤。
- 向下捲動至 [診斷記錄] 區段,然後選取 [Azure 監視器] 索引標籤。
- 檢閱設定,並視需要進行變更。 選取 [儲存]。
設定特定 API 的記錄設定:
- 在 API 管理 實例的左側功能表中,選取 [API>API],然後選取 API 的名稱。
- 從頂端列中,選取 [設定] 索引標籤。
- 向下捲動至 [診斷記錄] 區段,然後選取 [Azure 監視器] 索引標籤。
- 檢閱設定,並視需要進行變更。 選取 [儲存]。
重要
如果啟用,記錄的要求或回應承載最多可達 8,192 個字元組。 API 管理也會針對傳送至 Azure 監視器的診斷記錄項目強制執行 32 KB 的限制,其中包括承載和其他屬性,例如狀態碼、標頭和時間戳記。 如果屬性的組合大小超過 32 KB,API 管理會移除所有內文和追蹤內容來修剪項目。
下一步
在本教學課程中,您已了解如何:
- 檢視 API 的計量
- 設定警示規則
- 檢視活動記錄
- 啟用和檢視資源記錄
前進到下一個教學課程: