監視線上端點

在本文章中,您將了解如何監視 Azure Machine Learning 線上端點。 使用 Application Insights 檢視計量,並建立警示以隨時掌握您的線上端點。

在本文中,您將了解如何:

  • 檢視受控線上端點的計量
  • 建立您的計量的儀表板
  • 建立計量警示

重要

本文中標示為 (預覽) 的項目目前處於公開預覽狀態。 此預覽版本會在沒有服務等級協定的情況下提供,不建議用於實際執行工作負載。 可能不支援特定功能,或可能已經限制功能。 如需詳細資訊,請參閱 Microsoft Azure 預覽版增補使用條款

必要條件

  • 部署 Azure Machine Learning 線上端點。
  • 您必須至少擁有端點上的讀取者存取

計量

您可以在Azure 入口網站中檢視線上端點或部署的計量頁面。 存取這些計量頁面的簡單方式是透過Azure Machine Learning 工作室使用者介面中提供的連結,特別是在端點頁面的 [詳細資料] 索引標籤中。 遵循這些連結會帶您前往端點或部署Azure 入口網站中的確切計量頁面。 或者,您也可以移至 Azure 入口網站,以搜尋端點或部署的計量頁面。

若要透過 Studio 中可用的連結存取計量頁面:

  1. 移至 Azure Machine Learning Studio

  2. 在左側導覽列,選取 [端點] 頁面。

  3. 按一下端點的名稱來選取端點。

  4. 在端點的 [屬性] 區段中選取 [檢視計量],以在Azure 入口網站中開啟端點的 [計量] 頁面。

  5. 選取 [檢視每個可用部署] 區段中的[檢視計量],以在Azure 入口網站中開啟部署的計量頁面。

    顯示如何從 Studio UI 存取端點和部署計量的螢幕擷取畫面。

若要直接從Azure 入口網站存取計量:

  1. 移至 Azure 入口網站

  2. 瀏覽至線上端點或部署資源。

    線上端點和部署是 Azure Resource Manager (ARM) 資源,可移至自己的資源群組來找到這些資源。 尋找資源類型:Machine Learning 線上端點Machine Learning 線上部署

  3. 在左側資料行中,選取 [計量]。

可用的計量

視您選取的資源而定,您看到的計量將會不同。 線上端點和線上部署的計量範圍不同。

端點範圍的計量

  • 要求延遲
  • 要求延遲 P50 (第 50 個百分位的要求延遲)
  • 要求延遲 P90 (第 90 個百分位的要求延遲)
  • 要求延遲 P95 (第 95 個百分位的要求延遲)
  • 每分鐘要求
  • 每秒的新連線數
  • 使用中連線計數
  • 網路位元組

依下列維度分割:

  • 部署
  • 狀態碼
  • 狀態碼類別

頻寬節流設定

如果受控線上端點超過限制,頻寬將會受到節流 (請參閱使用 Azure Machine Learning 管理和增加資源配額中的受控線上端點區段)。 若要判斷要求是否已節流:

  • 監視「網路位元組」計量
  • 回應結尾會有欄位:ms-azureml-bandwidth-request-delay-msms-azureml-bandwidth-response-delay-ms。 欄位的值為頻寬節流的延遲 (以毫秒為單位)。

部署範圍的計量

  • CPU 使用率百分比
  • 部署容量 (要求的執行個體類型的執行個體數目)
  • 磁碟使用率
  • GPU 記憶體使用量 (僅適用於 GPU 執行個體)
  • GPU 使用量 (僅適用於 GPU 執行個體)
  • 記憶體使用率百分比

依下列維度分割:

  • InstanceId

建立儀表板

您可以建立自訂儀表板,以在 Azure 入口網站中視覺化多個來源的資料,包括線上端點的計量。 如需詳細資訊,請參閱使用 Application Insights 建立自訂 KPI 儀表板

建立警示

您也可以建立自訂警示,以便在線上端點有重要的狀態更新時取得通知:

  1. 在 [計量] 頁面的右上方,選取 [新增警示規則]。

    監視線上端點:螢幕擷取畫面顯示被紅色方塊包圍的「新警示規則」按鈕

  2. 選取條件名稱以指定何時應觸發警示。

    監視線上端點:螢幕擷取畫面顯示被紅色方塊包圍的「設定信號邏輯」按鈕

  3. 選取 [新增動作群組] > [建立動作群組],以指定觸發警示時應採取的動作。

  4. 選擇 [建立警示規則] 以完成建立警示。

記錄

線上端點有三個可啟用的記錄:

  • 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 工作區中的步驟來建立一個工作區。

  1. Azure 入口網站中,移至包含端點的資源群組,然後選取端點。

  2. 從頁面左側的 [監視] 區段,選取 [診斷設定],然後選取 [新增設定]。

  3. 選取要啟用的記錄類別、選取 [傳送至 Log Analytics 工作區],然後選取要使用的 Log Analytics 工作區。 最後,輸入診斷設定名稱,然後選取 [儲存]。

    螢幕擷取畫面:診斷設定對話方塊。

    重要

    最多可能需要一小時才能啟用 Log Analytics 工作區的連線。 請等候一小時,再繼續進行後續步驟。

  4. 將評分要求提交至端點。 此活動應該會在記錄中建立項目。

  5. 從線上端點屬性或 Log Analytics 工作區中,從畫面左側選取 [記錄]。

  6. 關閉自動開啟的 [查詢] 對話方塊,然後按兩下 AmlOnlineEndpointConsoleLog。 如果沒有看到該選項,請使用 [搜尋] 欄位。

    顯示記錄查詢的螢幕擷取畫面。

  7. 選取 [執行]。

    螢幕擷取畫面:執行查詢後的結果。

查詢範例

您可以在檢視記錄時,在 [查詢] 索引標籤上找到範例查詢。 搜尋線上端點以尋找範例查詢。

範例查詢的螢幕擷取畫面。

記錄資料行細節

下表提供每個記錄檔中所儲存資料的詳細資料:

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 與記錄檔記錄相關聯的部署名稱。
名稱 事件的名稱。
訊息 事件的內容。

後續步驟