啟用 Azure AI 服務的診斷記錄

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

必要條件

若要啟用診斷記錄,您必須在某處儲存記錄數據。 本教學課程使用 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. 選取 [稽核]、 [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

下一步