共用方式為


啟用 Azure AI 服務的診斷記錄

此指南提供逐步指示,說明如何針對 Azure AI 服務啟用診斷記錄。 這些記錄會針對用於問題識別和偵錯的資源作業,提供豐富、經常性的資料。 繼續之前,您必須擁有已訂閱至少一個 Azure AI 服務的 Azure 帳戶,例如語音服務

必要條件

若要啟用診斷記錄,您需要有儲存記錄資料的位置。 此教學課程使用 Azure 儲存體和 Log Analytics。

  • Azure 儲存體 - 保留用於原則稽核、靜態分析或備份的診斷記錄。 儲存體帳戶不一定要和資源發出記錄隸屬相同的訂用帳戶,只要進行設定的使用者擁有適當的 Azure RBAC 存取權,就可以存取這兩個訂用帳戶。
  • Log Analytics - 彈性的記錄搜尋和分析工具,可讓您分析 Azure 資源所產生的原始記錄。

注意

啟用診斷記錄收集

讓我們從使用 Azure 入口網站啟用診斷記錄開始。

注意

若要使用 PowerShell 或 Azure CLI 啟用此功能,請使用收集並取用來自 Azure 資源的記錄資料中提供的指示進行。

  1. 瀏覽至 Azure 入口網站。 然後找出並選取 Azure AI 服務資源。 例如,您的語音服務訂用帳戶。
  2. 接下來,從左側導覽功能表中尋找 [監視],然後選取 [診斷設定]。 此畫面包含先前為此資源建立的所有診斷設定。
  3. 如果您想要使用先前建立的資源,可以立即選取。 否則,選取 [+ 新增診斷設定]
  4. 輸入設定的名稱。 接著,選取 [封存至儲存體帳戶],然後選取 [傳送至 Log Analytics]
  5. 出現設定提示時,請選取您想要用來儲存診斷記錄的儲存體帳戶和 OMS 工作區。 注意:如果您沒有儲存體帳戶或 OMS 工作區,請依照提示建立一個。
  6. 選取 [Audit]、[RequestResponse] 和 [AllMetrics]。 然後,設定診斷記錄資料的保留期間。 如果保留原則設定為零,則會無限期地儲存該記錄類別的事件。
  7. 選取 [儲存]。

最多可能需要兩個小時的時間,記錄資料才可供查詢及分析之用。 如果您沒有立即看到任何內容,請不要擔心。

從 Azure 儲存體檢視和匯出診斷資料

Azure 儲存體是一個經過最佳化的健全物件儲存體解決方案,可用來儲存大量非結構化資料。 在此節中,您將了解如何在 30 天的時間範圍內查詢儲存體帳戶,以取得交易總數,並將資料匯出至 Excel。

  1. 從 Azure 入口網站中,找出您在上一節中建立的 Azure 儲存體資源。
  2. 從左側導覽功能表中尋找 [監視],然後選取 [計量]
  3. 使用可用的下拉式清單來設定您的查詢。 在此範例中,我們將時間範圍設定為 [過去 30 天],並將計量設定為 [交易]
  4. 查詢完成後,您會看到過去 30 天內的交易視覺效果。 若要匯出此資料,請使用位於頁面頂端的 [匯出至 Excel] 按鈕。

深入了解 Azure 儲存體中診斷資料的用途。

檢視 Log Analytics 中的記錄

依照下列指示,探索資源的記錄分析資料。

  1. 從 Azure 入口網站,找出並選取左側導覽功能表中的 [Log Analytics]
  2. 找出並選取啟用診斷時所建立的資源。
  3. 在 [一般] 底下,找出並選取 [記錄]。 您可以從這個頁面,對記錄執行查詢。

範例查詢

以下是一些您可以用來探索記錄資料的基本 Kusto 查詢。

在一段指定的時間內,針對來自 Azure AI 服務的所有診斷記錄執行此查詢:

AzureDiagnostics
| where ResourceProvider == "MICROSOFT.COGNITIVESERVICES"

執行此查詢以查看 10 個最新的記錄:

AzureDiagnostics
| where ResourceProvider == "MICROSOFT.COGNITIVESERVICES"
| take 10

執行此查詢,以便依 [資源] 將作業分組:

AzureDiagnostics
| where ResourceProvider == "MICROSOFT.COGNITIVESERVICES" |
summarize count() by Resource

執行此查詢以找出執行作業所需的平均時間:

AzureDiagnostics
| where ResourceProvider == "MICROSOFT.COGNITIVESERVICES"
| summarize avg(DurationMs)
by OperationName

執行此查詢,以檢視一段時間內依 OperationName 分割的作業量,每 10 秒計數一次。

AzureDiagnostics
| where ResourceProvider == "MICROSOFT.COGNITIVESERVICES"
| summarize count()
by bin(TimeGenerated, 10s), OperationName
| render areachart kind=unstacked

下一步