啟用 Azure AI 服務的診斷記錄
此指南提供逐步指示,說明如何針對 Azure AI 服務啟用診斷記錄。 這些記錄會針對用於問題識別和偵錯的資源作業,提供豐富、經常性的資料。 繼續之前,您必須擁有已訂閱至少一個 Azure AI 服務的 Azure 帳戶,例如語音服務。
必要條件
若要啟用診斷記錄,您需要有儲存記錄資料的位置。 此教學課程使用 Azure 儲存體和 Log Analytics。
- Azure 儲存體 - 保留用於原則稽核、靜態分析或備份的診斷記錄。 儲存體帳戶不一定要和資源發出記錄隸屬相同的訂用帳戶,只要進行設定的使用者擁有適當的 Azure RBAC 存取權,就可以存取這兩個訂用帳戶。
- Log Analytics - 彈性的記錄搜尋和分析工具,可讓您分析 Azure 資源所產生的原始記錄。
注意
- 還有其他設定選項可供使用。 若要深入了解,請參閱收集並取用來自 Azure 資源的記錄資料。
- 診斷記錄中的「追蹤」只適用於自訂問題解答。
啟用診斷記錄收集
讓我們從使用 Azure 入口網站啟用診斷記錄開始。
注意
若要使用 PowerShell 或 Azure CLI 啟用此功能,請使用收集並取用來自 Azure 資源的記錄資料中提供的指示進行。
- 瀏覽至 Azure 入口網站。 然後找出並選取 Azure AI 服務資源。 例如,您的語音服務訂用帳戶。
- 接下來,從左側導覽功能表中尋找 [監視],然後選取 [診斷設定]。 此畫面包含先前為此資源建立的所有診斷設定。
- 如果您想要使用先前建立的資源,可以立即選取。 否則,選取 [+ 新增診斷設定]。
- 輸入設定的名稱。 接著,選取 [封存至儲存體帳戶],然後選取 [傳送至 Log Analytics]。
- 出現設定提示時,請選取您想要用來儲存診斷記錄的儲存體帳戶和 OMS 工作區。 注意:如果您沒有儲存體帳戶或 OMS 工作區,請依照提示建立一個。
- 選取 [Audit]、[RequestResponse] 和 [AllMetrics]。 然後,設定診斷記錄資料的保留期間。 如果保留原則設定為零,則會無限期地儲存該記錄類別的事件。
- 選取 [儲存]。
最多可能需要兩個小時的時間,記錄資料才可供查詢及分析之用。 如果您沒有立即看到任何內容,請不要擔心。
從 Azure 儲存體檢視和匯出診斷資料
Azure 儲存體是一個經過最佳化的健全物件儲存體解決方案,可用來儲存大量非結構化資料。 在此節中,您將了解如何在 30 天的時間範圍內查詢儲存體帳戶,以取得交易總數,並將資料匯出至 Excel。
- 從 Azure 入口網站中,找出您在上一節中建立的 Azure 儲存體資源。
- 從左側導覽功能表中尋找 [監視],然後選取 [計量]。
- 使用可用的下拉式清單來設定您的查詢。 在此範例中,我們將時間範圍設定為 [過去 30 天],並將計量設定為 [交易]。
- 查詢完成後,您會看到過去 30 天內的交易視覺效果。 若要匯出此資料,請使用位於頁面頂端的 [匯出至 Excel] 按鈕。
深入了解 Azure 儲存體中診斷資料的用途。
檢視 Log Analytics 中的記錄
依照下列指示,探索資源的記錄分析資料。
- 從 Azure 入口網站,找出並選取左側導覽功能表中的 [Log Analytics]。
- 找出並選取啟用診斷時所建立的資源。
- 在 [一般] 底下,找出並選取 [記錄]。 您可以從這個頁面,對記錄執行查詢。
範例查詢
以下是一些您可以用來探索記錄資料的基本 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
下一步
- 若要了解如何啟用記錄,以及各種 Azure 服務支援的計量和記錄類別,請閱讀 Microsoft Azure 中的計量概觀和 Azure 診斷記錄概觀。
- 閱讀下列文章來了解事件中樞:
- 閱讀了解 Azure 監視器記錄中的記錄搜尋。