監視線上端點
在本文章中,您將了解如何監視 Azure Machine Learning 線上端點。 使用 Application Insights 檢視計量,並建立警示以隨時掌握您的線上端點。
在本文中,您將了解如何:
- 檢視受控線上端點的計量
- 建立您的計量的儀表板
- 建立計量警示
重要
本文中標示為 (預覽) 的項目目前處於公開預覽狀態。 此預覽版本會在沒有服務等級協定的情況下提供,不建議用於實際執行工作負載。 可能不支援特定功能,或可能已經限制功能。 如需詳細資訊,請參閱 Microsoft Azure 預覽版增補使用條款。
必要條件
- 部署 Azure Machine Learning 線上端點。
- 您必須至少擁有端點上的讀取者存取。
計量
您可以在Azure 入口網站中檢視線上端點或部署的計量頁面。 存取這些計量頁面的簡單方式是透過Azure Machine Learning 工作室使用者介面中提供的連結,特別是在端點頁面的 [詳細資料] 索引標籤中。 遵循這些連結會帶您前往端點或部署Azure 入口網站中的確切計量頁面。 或者,您也可以移至 Azure 入口網站,以搜尋端點或部署的計量頁面。
若要透過 Studio 中可用的連結存取計量頁面:
在左側導覽列,選取 [端點] 頁面。
按一下端點的名稱來選取端點。
在端點的 [屬性] 區段中選取 [檢視計量],以在Azure 入口網站中開啟端點的 [計量] 頁面。
選取 [檢視每個可用部署] 區段中的[檢視計量],以在Azure 入口網站中開啟部署的計量頁面。
若要直接從Azure 入口網站存取計量:
移至 Azure 入口網站。
瀏覽至線上端點或部署資源。
線上端點和部署是 Azure Resource Manager (ARM) 資源,可移至自己的資源群組來找到這些資源。 尋找資源類型:Machine Learning 線上端點和 Machine Learning 線上部署。
在左側資料行中,選取 [計量]。
可用的計量
視您選取的資源而定,您看到的計量將會不同。 線上端點和線上部署的計量範圍不同。
端點範圍的計量
- 要求延遲
- 要求延遲 P50 (第 50 個百分位的要求延遲)
- 要求延遲 P90 (第 90 個百分位的要求延遲)
- 要求延遲 P95 (第 95 個百分位的要求延遲)
- 每分鐘要求
- 每秒的新連線數
- 使用中連線計數
- 網路位元組
依下列維度分割:
- 部署
- 狀態碼
- 狀態碼類別
頻寬節流設定
如果受控線上端點超過限制,頻寬將會受到節流 (請參閱使用 Azure Machine Learning 管理和增加資源配額中的受控線上端點區段)。 若要判斷要求是否已節流:
- 監視「網路位元組」計量
- 回應結尾會有欄位:
ms-azureml-bandwidth-request-delay-ms
和ms-azureml-bandwidth-response-delay-ms
。 欄位的值為頻寬節流的延遲 (以毫秒為單位)。
部署範圍的計量
- CPU 使用率百分比
- 部署容量 (要求的執行個體類型的執行個體數目)
- 磁碟使用率
- GPU 記憶體使用量 (僅適用於 GPU 執行個體)
- GPU 使用量 (僅適用於 GPU 執行個體)
- 記憶體使用率百分比
依下列維度分割:
- InstanceId
建立儀表板
您可以建立自訂儀表板,以在 Azure 入口網站中視覺化多個來源的資料,包括線上端點的計量。 如需詳細資訊,請參閱使用 Application Insights 建立自訂 KPI 儀表板。
建立警示
您也可以建立自訂警示,以便在線上端點有重要的狀態更新時取得通知:
在 [計量] 頁面的右上方,選取 [新增警示規則]。
選取條件名稱以指定何時應觸發警示。
選取 [新增動作群組] > [建立動作群組],以指定觸發警示時應採取的動作。
選擇 [建立警示規則] 以完成建立警示。
記錄
線上端點有三個可啟用的記錄:
AMLOnlineEndpointTrafficLog (預覽版):如果您想要檢查要求的資訊,您可以選擇啟用流量記錄。 以下是一些案例:
如果回應不是 200,請檢查「ResponseCodeReason」資料行的值,以查看發生了什麼事。 也請檢查線上端點的疑難排解文章「HTTPS 狀態碼」一節中的原因。
您可以從「ModelStatusCode」和「ModelStatusReason」資料行檢查模型的回應碼和回應原因。
您想要檢查要求的持續時間,例如總持續時間、要求/回應持續時間,以及網路節流所造成的延遲。 您可以從記錄中加以檢查,以查看分解延遲。
如果您想要檢查最近有多少要求或失敗的要求。 您也可以啟用記錄。
AMLOnlineEndpointConsoleLog:包含容器輸出至主控台的記錄。 以下是一些案例:
如果容器無法啟動,使用主控台記錄進行偵錯可能很有用。
監視容器行為,並確定已正確處理所有要求。
在主控台記錄檔中寫入要求識別碼。 將 Log Analytics 工作區中的要求識別碼、AMLOnlineEndpointConsoleLog 和 AMLOnlineEndpointTrafficLog 聯結,您可以從線上端點的網路進入點追蹤要求至容器。
您也可以使用此記錄檔來進行效能分析,以判斷模型處理每個要求所需的時間。
AMLOnlineEndpointEventLog (預覽版):包含容器生命週期的相關事件資訊。 目前,我們提供下列事件種類的相關資訊:
名稱 訊息 輪詢 輪詢重新啟動失敗的容器 已提取 機器上已有容器映像「<IMAGE_NAME>」 正在終止 容器推斷伺服器失敗的即時性探查將會重新啟動 建立時間 已建立容器映像擷取器 建立時間 已建立容器推斷伺服器 建立時間 已建立容器模型掛接 Unhealthy 活躍度探查失敗:<FAILURE_CONTENT> Unhealthy 整備度探查失敗: <FAILURE_CONTENT> Started 已啟動的容器映像擷取器 Started 已啟動的容器推斷伺服器 Started 已啟動的容器模型掛接 正在終止 正在停止容器推斷伺服器 正在終止 停止容器模型掛接
如何啟用/停用記錄
重要
使用 Azure Log Analytics 記錄。 如果您目前沒有 Log Analytics 工作區,您可以使用 Azure 入口網站中建立 Log Analytics 工作區中的步驟來建立一個工作區。
在 Azure 入口網站中,移至包含端點的資源群組,然後選取端點。
從頁面左側的 [監視] 區段,選取 [診斷設定],然後選取 [新增設定]。
選取要啟用的記錄類別、選取 [傳送至 Log Analytics 工作區],然後選取要使用的 Log Analytics 工作區。 最後,輸入診斷設定名稱,然後選取 [儲存]。
重要
最多可能需要一小時才能啟用 Log Analytics 工作區的連線。 請等候一小時,再繼續進行後續步驟。
將評分要求提交至端點。 此活動應該會在記錄中建立項目。
從線上端點屬性或 Log Analytics 工作區中,從畫面左側選取 [記錄]。
關閉自動開啟的 [查詢] 對話方塊,然後按兩下 AmlOnlineEndpointConsoleLog。 如果沒有看到該選項,請使用 [搜尋] 欄位。
選取 [執行]。
查詢範例
您可以在檢視記錄時,在 [查詢] 索引標籤上找到範例查詢。 搜尋線上端點以尋找範例查詢。
記錄資料行細節
下表提供每個記錄檔中所儲存資料的詳細資料:
AMLOnlineEndpointTrafficLog (預覽版)
欄位名稱 | 描述 |
---|---|
方法 | 來自用戶端的要求方法。 |
路徑 | 來自用戶端的要求路徑。 |
SubscriptionId | 線上端點的機器學習訂用帳戶識別碼。 |
AzureMLWorkspaceId | 線上端點的機器學習工作區識別碼。 |
AzureMLWorkspaceName | 線上端點的機器學習工作區名稱。 |
EndpointName | 線上端點的名稱。 |
DeploymentName | 線上部署的名稱。 |
通訊協定 | 要求的通訊協定。 |
ResponseCode | 傳回給用戶端的最終回應碼。 |
ResponseCodeReason | 傳回給用戶端的最終回應碼原因。 |
ModelStatusCode | 模型的回應狀態碼。 |
ModelStatusReason | 來自模型的回應狀態原因。 |
RequestPayloadSize | 從用戶端收到的位元組總數。 |
ResponsePayloadSize | 傳回給用戶端的總位元組數。 |
UserAgent | 要求的使用者代理程式標頭,包括批註,但截斷為最多 70 個字元。 |
XRequestId | Azure Machine Learning 針對內部追蹤所產生的要求識別碼。 |
XMSClientRequestId | 用戶端所產生的追蹤識別碼。 |
TotalDurationMs | 從要求開始時間到傳送回用戶端的最後一個回應位元組的持續時間 (以毫秒為單位)。 如果用戶端中斷連線,其會測量從開始時間到用戶端中斷連線時間。 |
RequestDurationMs | 從要求開始時間到用戶端所接收要求最後一個位元組的持續時間 (以毫秒為單位)。 |
ResponseDurationMs | 從要求開始時間到從模型讀取的第一個回應位元組的持續時間 (以毫秒為單位)。 |
RequestThrottlingDelayMs | 要求資料傳輸因為網路節流而延遲的毫秒數。 |
ResponseThrottlingDelayMs | 回應資料傳輸因為網路節流而延遲的毫秒數。 |
AMLOnlineEndpointConsoleLog
欄位名稱 | 描述 |
---|---|
TimeGenerated | 產生記錄時的時間戳記 (UTC)。 |
OperationName | 與記錄相關聯的作業。 |
InstanceId | 產生此記錄檔記錄之執行個體的識別碼。 |
DeploymentName | 與記錄檔記錄相關聯的部署名稱。 |
ContainerName | 產生記錄的容器名稱。 |
訊息 | 記錄的內容。 |
AMLOnlineEndpointEventLog (預覽版)
欄位名稱 | 描述 |
---|---|
TimeGenerated | 產生記錄時的時間戳記 (UTC)。 |
OperationName | 與記錄相關聯的作業。 |
InstanceId | 產生此記錄檔記錄之執行個體的識別碼。 |
DeploymentName | 與記錄檔記錄相關聯的部署名稱。 |
名稱 | 事件的名稱。 |
訊息 | 事件的內容。 |
後續步驟
- 了解如何檢視您已部署端點的成本。
- 深入了解計量瀏覽器。