監視線上端點
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 入口網站 中,您可以檢視在線端點和部署的計量頁面。
從 Azure Machine Learning 工作室 存取計量
存取計量頁面的簡單方式,是透過 Azure Machine Learning 工作室 用戶介面中提供的連結。 您可以在端點頁面的 [詳細數據] 索引標籤中找到這些連結。 這些連結會導致端點或部署 Azure 入口網站 中的計量頁面。
若要透過 Studio 中可用的連結存取計量頁面,請執行下列步驟:
在 Azure Machine Learning 工作室 中,移至您的工作區。
在 [資產] 底下,選取 [端點]。
選取端點的名稱。
在 [端點屬性] 底 下,選取 [ 檢視計量]。
端點的計量頁面會在 Azure 入口網站 中開啟。
在 [Azure Machine Learning 工作室] 的 [端點] 頁面上,移至部署的 區段,然後選取 [檢視計量]。
部署的計量頁面會在 Azure 入口網站 中開啟。
從 Azure 入口網站 存取計量
另一個檢視端點或部署計量頁面的方法,是直接移至 Azure 入口網站:
前往 Azure 入口網站。
移至在線端點或部署資源。
在線端點和部署是 Azure Resource Manager 資源。 您可以移至其資源群組,然後尋找在線端點 機器學習 的資源類型,並 機器學習 在線部署。
在資源頁面上的 [監視] 底下,選取 [計量]。
可用的計量
您看到的計量取決於您選取的資源。 在線端點和在線部署的計量範圍不同。
端點範圍中的計量
如需在線端點範圍中可用計量的資訊,請參閱 Microsoft.MachineLearningServices/workspaces/onlineEndpoints 的支援計量。
頻寬節流
如果受控在線端點超過配額限制,則會節流頻寬。 如需在線端點限制的詳細資訊,請參閱 Azure 機器學習 在線端點和批次端點一文中的配額和限制 機器學習。 若要判斷要求是否受到節流:
- 監視網路位元組計量。
- 檢查回應預告片中的下列欄位:
ms-azureml-bandwidth-request-delay-ms
和ms-azureml-bandwidth-response-delay-ms
。 欄位的值為頻寬節流的延遲 (以毫秒為單位)。
如需詳細資訊,請參閱頻寬限制問題。
部署範圍中的計量
如需部署範圍中可用計量的資訊,請參閱 Microsoft.MachineLearningServices/workspaces/onlineEndpoints/deployments 的支援計量。
建立儀表板和警示
在 [監視] 中,您可以建立以計量為基礎的儀錶板和警示。
建立儀表板以及將查詢視覺化
您可以建立自定義儀錶板,以便可視化 Azure 入口網站 中多個來源的計量,包括在線端點的計量。 如需建立儀錶板和可視化查詢的詳細資訊,請參閱使用Application Insights 建立和共用Log Analytics資料的儀錶板和建立自定義 KPI 儀錶板。
建立警示
您也可以建立自訂警示,以便收到有關在線端點重要狀態更新的通知:
在 [Azure 入口網站] 中,移至 [計量] 頁面,然後選取 [新增警示規則]。
在 [選取訊號] 視窗中,選取您要為其建立警示的訊號,然後選取 [ 套用]。
在 [建立警示規則] 頁面中,輸入閾值,然後編輯您想要調整的任何其他設定。 如需警示規則設定的詳細資訊,請參閱 設定警示規則條件。 然後選取 [ 下一步:動作]。
在 [選取動作群組] 視窗中,建立或選取動作群組,以指定觸發警示時會發生什麼事。 如需詳細資訊,請參閱 設定警示規則詳細數據。
選取 [ 檢閱 + 建立 ] 以完成建立警示。
根據計量自動調整
您可以設定部署,以根據計量自動調整規模。 若要開啟自動調整功能,您可以使用 UI 或程式代碼。
程式代碼的選項包括 Azure 機器學習 CLI 和適用於 Python 的 Azure 機器學習 SDK。 當您使用程式代碼時,您可以藉由提供計量的 REST API 名稱來設定觸發自動調整的條件。
- 如需程式代碼中要使用的端點計量名稱,請參閱支援Microsoft.MachineLearningServices/workspaces/onlineEndpoints 之數據表中 REST API 中 [名稱] 數據行中的值。
- 如需用於程序代碼中的部署計量名稱,請參閱 Microsoft.MachineLearningServices/workspaces/onlineEndpoints/deployments 中數據表中 REST API 中 [名稱] 數據行中的值。
如需詳細資訊,請參閱在 Azure Machine Learning 中自動調整線上端點。
使用記錄
您可以針對線上端點開啟三個記錄:
AmlOnlineEndpointTrafficLog:此流量記錄可讓您檢查端點要求的資訊。 此記錄在下列情況下很有用:
- 要求回應不是 200,而且您想要更多資訊。
ResponseCodeReason
記錄中的數據行會列出原因。 如需狀態代碼和原因的描述,請參閱 有關在線端點疑難解答一文中的 HTTPS 狀態代碼 。 - 您想要查詢要求的模型回應碼和回應原因。 和
ModelStatusReason
數據ModelStatusCode
行會提供這項資訊。 - 您想要知道要求的持續時間。 記錄會提供延遲的明細。 該明細會顯示網路節流所造成的總持續時間、要求持續時間、回應持續時間和延遲。
- 您要檢查成功和失敗的最新要求數目。 記錄會提供這項資訊。
- 要求回應不是 200,而且您想要更多資訊。
AmlOnlineEndpointConsoleLog:此記錄包含容器寫入主控台輸出的語句。 此記錄在下列情況下很有用:
- 容器無法啟動。 主控台記錄檔對於偵錯很有用。
- 您想要監視容器行為,並確定已正確處理所有要求。
- 您想要從線上端點的網路進入點追蹤要求至容器。 您可以使用Log Analytics查詢,將要求標識碼與 AmlOnlineEndpointConsoleLog 和 AmlOnlineEndpointTrafficLog 記錄中的資訊聯結。
- 例如,您想要執行效能分析,以判斷模型處理每個要求所需的時間。
AmlOnlineEndpointEventLog:此記錄包含容器生命周期的相關事件資訊。 目前,記錄會提供下列事件類型的相關信息:
名稱 訊息 輪詢 輪詢重新啟動失敗的容器 已提取 機器上已有容器映像「<IMAGE_NAME>」 正在終止 容器推斷伺服器失敗的即時性探查將會重新啟動 建立時間 已建立容器映像擷取器 建立時間 已建立容器推斷伺服器 建立時間 已建立容器模型掛接 LivenessProbeFailed 活躍度探查失敗:<FAILURE_CONTENT> ReadinessProbeFailed 整備度探查失敗: <FAILURE_CONTENT> 已開始 已啟動的容器映像擷取器 已開始 已啟動的容器推斷伺服器 已開始 已啟動的容器模型掛接 正在終止 正在停止容器推斷伺服器 正在終止 停止容器模型掛接
開啟記錄
重要
記錄會使用監視器的Log Analytics功能。 如果您目前沒有 Log Analytics 工作區,您可以遵循建立工作區中的 步驟來建立一個工作區。
在 Azure 入口網站 中,移至包含您端點的資源群組,然後選取端點。
在 [監視] 底下,選取 [診斷設定],然後選取 [新增診斷設定]。
在 [診斷設定] 視窗中,輸入下列資訊:
- 在 [診斷設定名稱] 旁,輸入設定的名稱。
- 在 [記錄] 下,選取您要開啟的記錄類別。
- 在 [目的地詳細數據] 下,選取 [傳送至 Log Analytics 工作區],然後選取要使用的訂用帳戶和 Log Analytics 工作區。
選取儲存。
重要
連線到 Log Analytics 工作區最多可能需要一小時的時間才能使用。 請稍候一小時,再繼續進行下一節中的步驟。
查詢記錄
將評分要求提交至端點,以在記錄中建立專案。
前往 Azure 入口網站。 若要開啟記錄,請使用下列其中一個選項:
- 移至您在線端點的屬性頁面。 在 [監視] 底下,選取 [記錄]。
- 前往 [Log Analytics 工作區]。 在左側,選取 [記錄]。
關閉預設開啟的 [查詢] 中 樞 視窗。
在 [其他] 底下,按兩下 [AmlOnlineEndpointConsoleLog]。 如果您沒有看到 AmlOnlineEndpointConsoleLog,請在搜尋欄位中輸入該值。
選取執行。
查詢範例
範例查詢可供您使用。 若要檢視查詢,請執行下列步驟:
記錄資料行細節
下表提供每個記錄中儲存之資料的詳細資訊:
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 診斷] 底下,選取 [已啟用]。
當您開啟 Application Insights 時,您可以看到受控在線端點的高階活動監視圖表。 在 Studio 中,移至端點的頁面,然後選取 [ 監視] 索引標籤。