監視 Azure OpenAI 服務

當您有依賴 Azure 資源的重要應用程式和商務程序時,您會想要監視這些資源的可用性、效能和操作。

本文說明 Azure OpenAI 服務所產生的監視數據。 Azure OpenAI 是 Azure AI 服務的一部分,其使用 Azure 監視器。 如果您不熟悉所有使用服務之 Azure 服務通用的 Azure 監視器功能,請參閱 使用 Azure 監視器監視 Azure 資源。

儀表板​​

Azure OpenAI 會針對每個 Azure OpenAI 資源提供現用的儀錶板。 若要存取監視儀錶板登入, https://portal.azure.com 並選取其中一個 Azure OpenAI 資源的概觀窗格。

此螢幕快照顯示 Azure 入口網站 中 Azure OpenAI 資源的現用儀錶板。

儀錶板分成四個類別:HTTP 要求、令牌型使用量PTU 使用率微調

Azure 監視器中的數據收集和路由

Azure OpenAI 會收集與其他 Azure 資源相同的監視數據種類。 您可以設定 Azure 監視器,以在活動記錄、資源記錄、虛擬機記錄和平臺計量中產生數據。 如需詳細資訊,請參閱 監視來自 Azure 資源的數據。

平台計量和 Azure 監視器活動記錄會自動收集並儲存。 此數據可以使用診斷設定路由傳送至其他位置。 除非您建立診斷設定,然後將記錄路由傳送至一或多個位置,否則不會收集並儲存 Azure 監視器資源記錄。

在建立診斷設定時,您可以指定要收集的記錄類別。 如需使用 Azure 入口網站、Azure CLI 或 PowerShell 建立診斷設定的詳細資訊,請參閱建立診斷設定以收集 Azure 中的平台記錄和計量。

請記住,使用診斷設定並將數據傳送至 Azure 監視器記錄有與其相關聯的其他成本。 如需詳細資訊,請參閱 Azure 監視器記錄成本計算和選項

您可以收集的計量和記錄會在下列各節中說明。

分析計量

您可以使用 Azure 入口網站 中的 Azure 監視器工具,分析 Azure OpenAI 服務資源的計量。 從 Azure OpenAI 資源的 [概觀] 頁面中,選取左窗格中 [監視] 底下的 [計量]。 如需詳細資訊,請參閱 開始使用 Azure 監視器計量總管

Azure OpenAI 與 Azure AI 服務的子集具有共通性。 如需 Azure 監視器針對 Azure OpenAI 和類似 Azure AI 服務收集的所有平臺計量清單,請參閱 Microsoft.CognitiveServices/accounts 的支援計量。

認知服務計量

這些是所有 Azure AI 服務資源通用的舊版計量。 我們不再建議您搭配 Azure OpenAI 使用這些計量。

Azure OpenAI 計量

注意

建管理的使用率 計量現在已淘汰,不再建議使用。 此計量已由 布建管理的使用率 V2 計量取代。

下表摘要說明 Azure OpenAI 中目前可用的計量子集。

計量 類別 彙總 描述 維度
Azure OpenAI Requests HTTP 計數 在一段時間內對 Azure OpenAI API 進行的呼叫總數。 適用於 PayGo、PTU 和 PTU 管理的 SKU。 ApiNameModelDeploymentNameModelNameModelVersionOperationNameRegion、、、 StatusCodeStreamType
Generated Completion Tokens 使用方式 Sum 來自 Azure OpenAI 模型的產生的令牌數目(輸出)。 適用於 PayGo、PTU 和 PTU 管理 SKU ApiName、、ModelDeploymentNameModelNameRegion
Processed FineTuned Training Hours 使用方式 Sum Azure OpenAI 微調模型上處理的定型時數。 ApiName、、ModelDeploymentNameModelNameRegion
Processed Inference Tokens 使用方式 Sum Azure OpenAI 模型所處理的推斷令牌數目。 計算為提示令牌 (輸入) + 產生的令牌。 適用於 PayGo、PTU 和 PTU 管理 SKU。 ApiName、、ModelDeploymentNameModelNameRegion
Processed Prompt Tokens 使用方式 Sum 在 Azure OpenAI 模型上處理的提示令牌總數(輸入)。 適用於 PayGo、PTU 和 PTU 管理的 SKU。 ApiName、、ModelDeploymentNameModelNameRegion
Provision-managed Utilization V2 使用方式 平均 布建管理的使用率是指定布建受控部署的使用率百分比。 計算為 (已耗用的 PTU/已部署的 PTU)*100。 當使用率在 100% 以上時,會節流呼叫並傳回 429 錯誤碼。 ModelDeploymentNameModelNameModelVersion、、 RegionStreamType

設定診斷設定

所有計量都可以透過 Azure 監視器中的診斷設定來導出。 若要使用 Azure 監視器 Log Analytics 查詢來分析記錄和計量數據,您必須設定 Azure OpenAI 資源和 Log Analytics 工作區的診斷設定。

  1. 從 Azure OpenAI 資源頁面的 [監視] 底下,選取左窗格中的 [診斷設定]。 在 [ 診斷設定] 頁面上,選取 [ 新增診斷設定]。

    顯示如何在 Azure 入口網站 中開啟 Azure OpenAI 資源的 [診斷設定] 頁面的螢幕快照。

  2. 在 [ 診斷設定 ] 頁面上,設定下列欄位:

    1. 選取 [傳送至 Log Analytics 工作區]。
    2. 選擇您的 Azure 帳戶訂用帳戶。
    3. 選擇您的Log Analytics工作區。
    4. 在 [記錄] 底下,選取 [allLogs]。
    5. 在 [計量] 底下,選取 [AllMetrics]。

    顯示如何在 Azure 入口網站 中設定 Azure OpenAI 資源的診斷設定的螢幕快照。

  3. 輸入診斷 設定名稱 以儲存組態。

  4. 選取 [儲存]。

設定診斷設定之後,您可以在Log Analytics工作區中使用 Azure OpenAI 資源的計量和記錄數據。

分析記錄

Azure 監視器記錄中的資料會儲存在資料表中,其中每個資料表都有一組專屬的唯一屬性。

Azure 監視器中的所有資源記錄都有相同的欄位,後面接著服務特定的欄位。 如需通用架構的相關信息,請參閱 Azure 資源記錄的常見和服務特定架構。

活動 記錄 是 Azure 中的平台記錄類型,可提供訂用帳戶層級事件的深入解析。 您可以獨立檢視此記錄,或將其路由傳送至 Azure 監視器記錄。 在 Azure 入口網站 中,您可以使用 Azure 監視器記錄中的活動記錄,搭配 Log Analytics 執行複雜的查詢。

如需 Azure OpenAI 和類似 Azure AI 服務可用的資源記錄類型清單,請參閱 Microsoft.CognitiveServices Azure 資源提供者作業。

使用 Kusto 查詢

部署 Azure OpenAI 模型之後,您可以使用 Azure AI Studio 中的遊樂場環境來傳送一些完成呼叫

此螢幕快照顯示如何在 Azure OpenAI Studio 遊樂場中產生 Azure OpenAI 資源的完成。

您在 Completions 遊樂場或聊天完成遊樂場輸入的任何文字,都會為您的 Azure OpenAI 資源產生計量和記錄數據。 在資源的Log Analytics工作區中,您可以使用 Kusto 查詢語言來查詢監視數據

重要

Azure OpenAI 資源頁面上的 [開啟查詢] 選項會流覽至 Azure Resource Graph,本文並未說明。 下列查詢使用Log Analytics的查詢環境。 請務必遵循設定診斷設定中的步驟來準備Log Analytics工作區。

  1. 從 Azure OpenAI 資源頁面的左窗格中的 [監視] 底下,選取 [ 記錄]。

  2. 選取您為 Azure OpenAI 資源設定診斷的 Log Analytics 工作區。

  3. 從 Log Analytics 工作區頁面的左窗格 [概觀] 底下,選取 [記錄]。

    Azure 入口網站 預設會顯示 [查詢] 視窗,其中包含範例查詢和建議。 您可以關閉此視窗。

針對下列範例,在 [查詢] 視窗頂端的編輯區域中輸入 Kusto 查詢,然後選取 [執行]。 查詢結果會顯示在查詢文字下方。

下列 Kusto 查詢適用於資源相關 Azure 診斷AzureDiagnostics () 資料的初始分析:

AzureDiagnostics
| take 100
| project TimeGenerated, _ResourceId, Category, OperationName, DurationMs, ResultSignature, properties_s

此查詢會傳回 100 個專案的範例,並在記錄中顯示可用資料行的子集。 在查詢結果中,您可以選取數據表名稱旁的箭號,以檢視所有可用的數據行和相關聯的數據類型。

此螢幕快照顯示 Azure OpenAI 資源 Azure 診斷 數據的 Log Analytics 查詢結果。

若要查看所有可用的數據行,您可以從查詢中移除範圍參數行 | project ...

AzureDiagnostics
| take 100

若要檢查資源的 Azure 計量 (AzureMetrics) 資料,請執行下列查詢:

AzureMetrics
| take 100
| project TimeGenerated, MetricName, Total, Count, Maximum, Minimum, Average, TimeGrain, UnitName

此查詢會傳回 100 個專案的範例,並顯示 Azure 計量資料可用資料行的子集:

此螢幕快照顯示有關 Azure OpenAI 資源的 Azure 計量數據的 Log Analytics 查詢結果。

注意

當您在資源的 [Azure OpenAI] 功能選取 [監視>記錄] 時,Log Analytics 隨即開啟,並將查詢範圍設定為目前資源。 可見的記錄查詢只包含來自該特定資源的數據。 若要執行包含來自其他資源或其他 Azure 服務之數據的查詢,請從 Azure 入口網站 的 [Azure 監視器] 功能選取 [記錄]。 如需詳細資訊,請參閱 Azure 監視器 Log Analytics 中的記錄查詢領域和時間範圍

設定警示

在監視資料中發現重大狀況時,Azure 監視器會主動通知您。 其可讓您在使用者注意到問題之前,先識別並解決系統中的問題。 可在 [計量]、[記錄]、[活動記錄] 中設定警示。 不同類型的警示有不同的優點和缺點。

每個組織的警示需求都會有所不同,而且可能會隨著時間而變更。 一般而言,所有警示都應該可採取動作,並在警示發生時具有特定的預期回應。 如果警示不需要立即回應,則可以在報表中擷取條件,而不是警示。 某些使用案例可能需要隨時出現特定錯誤狀況的警示。 在其他情況下,您可能需要針對超過指定時段特定閾值的錯誤警示。

低於特定閾值的錯誤,通常可透過定期分析 Azure 監視器記錄中的數據來評估。 當您分析一段時間的記錄數據時,您可能會發現特定條件不會在預期的一段時間內發生。 您可以使用警示來追蹤此條件。 有時候記錄檔中沒有事件就像錯誤一樣重要。

根據您使用 Azure OpenAI 開發的應用程式類型, Azure 監視器 Application Insights 可能會在應用層提供更多的監視優點。

下一步