共用方式為


監視線上端點

Azure Machine Learning 會使用與 Azure 監視器的整合來追蹤及監視線上端點的計量和記錄。 您可以在圖表中檢視計量、比較端點和部署之間的計量、將計量釘選到 Azure 入口網站 儀錶板、設定警示、查詢記錄數據表,以及將記錄推送至支持的目標。 您也可以使用 Application Insights 來分析使用者容器的事件。

  • 計量:針對端點層級的計量,例如要求延遲、每秒要求、每秒的新連線和網路位元組,您可以向下切入以查看部署層級或狀態層級的詳細資訊。 您也可以向下切入部署層級計量,例如 CPU/GPU 使用量和記憶體或磁碟使用量至實例層級。 在 [監視] 中,您可以在圖表中追蹤這些計量,並設定儀錶板和警示以進行進一步分析。

  • 記錄:您可以將計量傳送至 Log Analytics 工作區,您可以在其中使用 Kusto 查詢語法來查詢記錄。 您也可以將計量傳送至 Azure 儲存體 帳戶或 Azure 事件中樞 以進行進一步處理。 針對與在線端點相關的流量、控制台(容器)記錄和事件,您可以使用專用的記錄數據表。 Kusto 查詢支持複雜的分析功能和多個數據表的聯結。

  • Application Insights:策展環境包括與 Application Insights 的整合。 您可以在建立線上部署時開啟或關閉此整合。 當您開啟時,內建計量和記錄會傳送至 Application Insights。 然後,您可以使用 Application Insights 的內建功能進行進一步分析。 這些功能的範例包括即時計量、交易搜尋、失敗檢視和效能檢視。

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

  • 選擇正確的方法來檢視和追蹤計量和記錄。
  • 檢視在線端點的計量。
  • 建立計量的儀錶板。
  • 建立計量警示。
  • 檢視在線端點的記錄。
  • 使用 Application Insights 來追蹤計量和記錄。

必要條件

使用計量

在 Azure 入口網站 中,您可以檢視在線端點和部署的計量頁面。

從 Azure Machine Learning 工作室 存取計量

存取計量頁面的簡單方式,是透過 Azure Machine Learning 工作室 用戶介面中提供的連結。 您可以在端點頁面的 [詳細數據] 索引標籤中找到這些連結。 這些連結會導致端點或部署 Azure 入口網站 中的計量頁面。

若要透過 Studio 中可用的連結存取計量頁面,請執行下列步驟:

  1. Azure Machine Learning 工作室 中,移至您的工作區。

  2. 在 [資產] 底下,選取 [端點]。

  3. 選取端點的名稱。

  4. 在 [端點屬性] 底 ,選取 [ 檢視計量]。

    Studio 中顯示端點屬性的端點頁面螢幕快照。資產、端點、端點屬性和檢視計量會反白顯示。

    端點的計量頁面會在 Azure 入口網站 中開啟。

  5. 在 [Azure Machine Learning 工作室] 的 [端點] 頁面上,移至部署的 區段,然後選取 [檢視計量]。

    Studio 中顯示部署資訊的端點頁面螢幕快照。部署藍色和檢視計量會反白顯示。

    部署的計量頁面會在 Azure 入口網站 中開啟。

從 Azure 入口網站 存取計量

另一個檢視端點或部署計量頁面的方法,是直接移至 Azure 入口網站:

  1. 前往 Azure 入口網站

  2. 移至在線端點或部署資源。

    在線端點和部署是 Azure Resource Manager 資源。 您可以移至其資源群組,然後尋找在線端點 機器學習 的資源類型,並 機器學習 在線部署

  3. 在資源頁面上的 [監視] 底下,選取 [計量]。

    Azure 入口網站 的螢幕快照,其中顯示部署的 [計量] 頁面。監視和計量會反白顯示。

可用的計量

您看到的計量取決於您選取的資源。 在線端點和在線部署的計量範圍不同。

端點範圍中的計量

如需在線端點範圍中可用計量的資訊,請參閱 Microsoft.MachineLearningServices/workspaces/onlineEndpoints 的支援計量。

頻寬節流

如果受控在線端點超過配額限制,則會節流頻寬。 如需在線端點限制的詳細資訊,請參閱 Azure 機器學習 在線端點和批次端點一文中的配額和限制 機器學習。 若要判斷要求是否受到節流:

  • 監視網路位元組計量。
  • 檢查回應預告片中的下列欄位: ms-azureml-bandwidth-request-delay-msms-azureml-bandwidth-response-delay-ms。 欄位的值為頻寬節流的延遲 (以毫秒為單位)。

如需詳細資訊,請參閱頻寬限制問題

部署範圍中的計量

如需部署範圍中可用計量的資訊,請參閱 Microsoft.MachineLearningServices/workspaces/onlineEndpoints/deployments 的支援計量。

建立儀表板和警示

在 [監視] 中,您可以建立以計量為基礎的儀錶板和警示。

建立儀表板以及將查詢視覺化

您可以建立自定義儀錶板,以便可視化 Azure 入口網站 中多個來源的計量,包括在線端點的計量。 如需建立儀錶板和可視化查詢的詳細資訊,請參閱使用Application Insights 建立和共用Log Analytics資料的儀錶板和建立自定義 KPI 儀錶板。

建立警示

您也可以建立自訂警示,以便收到有關在線端點重要狀態更新的通知:

  1. 在 [Azure 入口網站] 中,移至 [計量] 頁面,然後選取 [新增警示規則]。

    Azure 入口網站 的螢幕快照,其中顯示部署的 [計量] 頁面。醒目提示新的警示規則。

  2. 在 [選取訊號] 視窗中,選取您要為其建立警示的訊號,然後選取 [ 套用]。

  3. 在 [建立警示規則] 頁面中,輸入閾值,然後編輯您想要調整的任何其他設定。 如需警示規則設定的詳細資訊,請參閱 設定警示規則條件。 然後選取 [ 下一步:動作]。

    Azure 入口網站 中 [建立警示規則] 頁面的螢幕快照。[閾值] 方塊和 [下一個動作] 會反白顯示。

  4. 在 [選取動作群組] 視窗中,建立或選取動作群組,以指定觸發警示時會發生什麼事。 如需詳細資訊,請參閱 設定警示規則詳細數據

  5. 選取 [ 檢閱 + 建立 ] 以完成建立警示。

根據計量自動調整

您可以設定部署,以根據計量自動調整規模。 若要開啟自動調整功能,您可以使用 UI 或程式代碼。

程式代碼的選項包括 Azure 機器學習 CLI 和適用於 Python 的 Azure 機器學習 SDK。 當您使用程式代碼時,您可以藉由提供計量的 REST API 名稱來設定觸發自動調整的條件。

如需詳細資訊,請參閱在 Azure Machine Learning 中自動調整線上端點

使用記錄

您可以針對線上端點開啟三個記錄:

  • AmlOnlineEndpointTrafficLog:此流量記錄可讓您檢查端點要求的資訊。 此記錄在下列情況下很有用:

    • 要求回應不是 200,而且您想要更多資訊。 ResponseCodeReason記錄中的數據行會列出原因。 如需狀態代碼和原因的描述,請參閱 有關在線端點疑難解答一文中的 HTTPS 狀態代碼
    • 您想要查詢要求的模型回應碼和回應原因。 和 ModelStatusReason 數據ModelStatusCode行會提供這項資訊。
    • 您想要知道要求的持續時間。 記錄會提供延遲的明細。 該明細會顯示網路節流所造成的總持續時間、要求持續時間、回應持續時間和延遲。
    • 您要檢查成功和失敗的最新要求數目。 記錄會提供這項資訊。
  • AmlOnlineEndpointConsoleLog:此記錄包含容器寫入主控台輸出的語句。 此記錄在下列情況下很有用:

    • 容器無法啟動。 主控台記錄檔對於偵錯很有用。
    • 您想要監視容器行為,並確定已正確處理所有要求。
    • 您想要從線上端點的網路進入點追蹤要求至容器。 您可以使用Log Analytics查詢,將要求標識碼與 AmlOnlineEndpointConsoleLog 和 AmlOnlineEndpointTrafficLog 記錄中的資訊聯結。
    • 例如,您想要執行效能分析,以判斷模型處理每個要求所需的時間。
  • AmlOnlineEndpointEventLog:此記錄包含容器生命周期的相關事件資訊。 目前,記錄會提供下列事件類型的相關信息:

    名稱 訊息
    輪詢 輪詢重新啟動失敗的容器
    已提取 機器上已有容器映像「<IMAGE_NAME>」
    正在終止 容器推斷伺服器失敗的即時性探查將會重新啟動
    建立時間 已建立容器映像擷取器
    建立時間 已建立容器推斷伺服器
    建立時間 已建立容器模型掛接
    LivenessProbeFailed 活躍度探查失敗:<FAILURE_CONTENT>
    ReadinessProbeFailed 整備度探查失敗: <FAILURE_CONTENT>
    已開始 已啟動的容器映像擷取器
    已開始 已啟動的容器推斷伺服器
    已開始 已啟動的容器模型掛接
    正在終止 正在停止容器推斷伺服器
    正在終止 停止容器模型掛接

開啟記錄

重要

記錄會使用監視器的Log Analytics功能。 如果您目前沒有 Log Analytics 工作區,您可以遵循建立工作區中的 步驟來建立一個工作區

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

  2. 在 [監視] 底下,選取 [診斷設定],然後選取 [新增診斷設定]。

  3. 在 [診斷設定] 視窗中,輸入下列資訊:

    • [診斷設定名稱] 旁,輸入設定的名稱。
    • 在 [記錄],選取您要開啟的記錄類別。
    • 在 [目的地詳細數據],選取 [傳送至 Log Analytics 工作區],然後選取要使用的訂用帳戶和 Log Analytics 工作區。

    [診斷設定] 視窗的螢幕快照。已選取所有記錄和 [傳送至 Log Analytics] 工作區。可以看到訂用帳戶和工作區。

  4. 選取儲存

    重要

    連線到 Log Analytics 工作區最多可能需要一小時的時間才能使用。 請稍候一小時,再繼續進行下一節中的步驟。

查詢記錄

  1. 將評分要求提交至端點,以在記錄中建立專案。

  2. 前往 Azure 入口網站。 若要開啟記錄,請使用下列其中一個選項:

    • 移至您在線端點的屬性頁面。 在 [監視] 底下,選取 [記錄]
    • 前往 [Log Analytics 工作區]。 在左側,選取 [記錄]
  3. 關閉預設開啟的 [查詢] 中 視窗。

  4. 在 [其他] 底下,按兩下 [AmlOnlineEndpointConsoleLog]。 如果您沒有看到 AmlOnlineEndpointConsoleLog,請在搜尋欄位中輸入該值。

    端點 Azure 入口網站 記錄頁面的螢幕快照。AmlOnlineEndpointConsoleLog 會在搜尋方塊和結果中反白顯示。

  5. 選取執行

    端點 Azure 入口網站 記錄頁面的螢幕快照。[執行] 會反白顯示,且會顯示 AmlOnlineEndpointConsoleLog 查詢結果。

查詢範例

範例查詢可供您使用。 若要檢視查詢,請執行下列步驟:

  1. 在 [記錄] 頁面上,選取 [ 查詢]。

  2. 在搜尋方塊中,輸入 在線端點

    [Azure 入口網站 記錄] 頁面 [查詢] 索引標籤的螢幕快照。顯示兩個範例查詢,並醒目提示 [查詢] 索引卷標和搜尋方塊。

記錄資料行細節

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

AmlOnlineEndpointTrafficLog

屬性 說明
方法 用戶端要求的方法。
路徑 用戶端要求的路徑。
SubscriptionId 線上端點的機器學習訂用帳戶識別碼。
AzureMLWorkspaceId 線上端點的機器學習工作區識別碼。
AzureMLWorkspaceName 線上端點的機器學習工作區名稱。
EndpointName 線上端點的名稱。
DeploymentName 線上部署的名稱。
通訊協定 要求的通訊協定。
ResponseCode 傳回給客戶端的最終回應碼。
ResponseCodeReason 傳回給客戶端的最終回應碼原因。
ModelStatusCode 來自模型的響應狀態代碼。
ModelStatusReason 來自模型的響應狀態原因。
RequestPayloadSize 從用戶端收到的位元組總數。
ResponsePayloadSize 傳回給用戶端的總位元組數。
UserAgent 要求的使用者代理程式標頭,包括批註,但截斷為最多 70 個字元。
XRequestId Azure 機器學習 針對內部追蹤所產生的要求標識碼。
XMSClientRequestId 用戶端產生的追蹤標識碼。
TotalDurationMs 從要求開始時間到最後一個回應位元組傳送回客戶端的時間,以毫秒為單位的持續時間。 如果用戶端中斷連線,持續時間會從開始時間到用戶端中斷連線時間。
RequestDurationMs 從要求開始時間到從用戶端接收要求最後一個字節的時間,以毫秒為單位的持續時間。
ResponseDurationMs 從要求開始時間到從模型讀取第一個回應位元組的時間,以毫秒為單位的持續時間。
RequestThrottlingDelayMs 要求數據傳輸的延遲以毫秒為單位,因為網路節流。
ResponseThrottlingDelayMs 由於網路節流,回應數據傳輸的延遲以毫秒為單位。

AmlOnlineEndpointConsoleLog

屬性 說明
TimeGenerated 產生記錄檔之時間的UTC時間戳
OperationName 與記錄檔記錄相關聯的作業
InstanceId 產生記錄檔記錄之實例的標識碼
DeploymentName 與記錄檔記錄相關聯的部署名稱
ContainerName 產生記錄檔的容器名稱
訊息 記錄的內容

AmlOnlineEndpointEventLog

屬性 說明
TimeGenerated 產生記錄檔之時間的UTC時間戳
OperationName 與記錄檔記錄相關聯的作業
InstanceId 產生記錄檔記錄之實例的標識碼
DeploymentName 與記錄檔記錄相關聯的部署名稱
名稱 事件的名稱
訊息 事件的內容

使用 Application Insights

策劃的環境包括與 Application Insights 的整合。 透過這項整合,內建計量和記錄會傳送至 Application Insights。 因此,您可以使用 Application Insights 內建功能進行進一步分析。 這些功能的範例包括即時計量、交易搜尋、失敗檢視和效能檢視。

如需詳細資訊,請參閱 Application Insights 概觀

您可以在 Studio 中建立在線部署時,開啟與 Application Insights 的整合。 在 [部署] 頁面上的 [Application Insights 診斷] 底下,選取 [已啟用]。

當使用者建立在線端點時,Studio 部署頁面的螢幕快照。Application Insights 診斷設定會反白顯示。

當您開啟 Application Insights 時,您可以看到受控在線端點的高階活動監視圖表。 在 Studio 中,移至端點的頁面,然後選取 [ 監視] 索引標籤。

Studio 端點頁面上 [監視] 索引標籤的螢幕快照。[監視] 索引標籤會反白顯示。圖表顯示端點的要求每分鐘數。