設定適用於 Power BI 的 Azure Log Analytics
Power BI 與 Azure Log Analytics 整合,可讓系統管理員和 進階版 工作區擁有者設定其 Power BI 訂用帳戶的 Log Analytics 連線。 本文說明 Log Analytics 與 Power BI 之間的整合如何運作,以及如何為您的環境進行設定。
讓 Azure Log Analytics 適用於 Power BI 有兩個元素:
- 在 Azure 入口網站 中設定您的 Azure 訂用帳戶。
- 在 Power BI 管理員 入口網站中啟用 Power BI 的 Log Analytics。
下列各節會引導您完成兩者的步驟。
必要條件
您必須先在 Azure 入口網站 中建立Log Analytics工作區,才能從Power BI 設定Log Analytics整合。 您也必須在 Azure 中授與許可權,Power BI 服務 才能寫入記錄。 確切的需求如下:
- Azure 訂用帳戶的參與者存取權。
- 在您將收集 Power BI 記錄數據的 Azure 訂用帳戶中註冊 'microsoft.insights' 資源提供者。
- 在 Power BI 中設定 Log Analytics 整合的使用者必須位於 Log Analytics 工作區的 Log Analytics 參與者角色中。 如需無法提供擁有者角色的因應措施,請參閱常見問題。
啟用 『microsoft.insights』 資源提供者
Log Analytics 需要在 Azure 訂用帳戶層級啟用 'microsoft.insights' 資源提供者。 下列步驟會引導您完成此程式。
登入 Azure 入口網站,選取您想要與Log Analytics搭配使用的訂用帳戶,其中包含Log Analytics工作區。 在 [設定] 區段中,選取 [資源提供者],如下圖所示。
在 [資源提供者] 底下搜尋 microsoft.insights。 然後選取 [ 註冊]。
設定權限
請確定設定Log Analytics整合的使用者具有 Log Analytics工作區的Log Analytics 參與者 角色。 當您在 Azure 入口網站 中選取訂用帳戶的訪問控制 (IAM),然後從面板中的頂端選取 [角色指派] 時,目前的用戶必須看到一個專案:設定 Log Analytics 的使用者 Log Analytics 參與者:
完成這些步驟之後,Azure Log Analytics 組態部分就會完成。 下一節說明如何在Power BI 管理員入口網站中繼續並完成設定。
允許從 管理員 入口網站進行工作區層級記錄
Power BI 系統管理員必須完成下列步驟,才能啟用適用於 Power BI 的 Azure Log Analytics 進階版 工作區。 此設定可讓 Power BI 進階版 工作區系統管理員在符合必要條件時,將其工作區記錄傳送至 Azure Log Analytics。
在 Power BI 管理員 入口網站中,移至 [租使用者 設定 > 稽核和使用方式設定],然後展開工作區系統管理員的 Azure Log Analytics 連線。 若要允許工作區管理員啟用Log Analytics,請將滑桿設定為 [已啟用],並在 [套用至] 下指定所需的安全組,如下圖所示。
在 進階版 工作區中設定記錄
在 進階版 工作區中,工作區管理員可以啟用Log Analytics。 若要這樣做,請移至 設定,如下圖所示。
在 [設定] 窗格中,選取 [Azure 連線],然後展開 [Log Analytics],如下圖所示。
選取 Azure 訂用帳戶[資源群組],然後選取上一節中設定的 Log Analytics 工作區。 然後,選擇 [儲存]。 成功完成時,展開 的租用戶層級Log Analytics 區段看起來應該類似下圖。
中斷 Azure Log Analytics 的連線
您可以中斷與 Azure Log Analytics 的連線,以停止將記錄傳送至 Azure。 若要中斷連線,請在Power BI工作區 設定 中,移至Log Analytics設定。 選取 [ 從 Azure 中斷連線]。 然後選擇 [ 儲存 ] 以中斷連線。
注意
當您中斷 Power BI 工作區與 Azure Log Analytics 的連線時,不會刪除記錄。 您的數據會維持不變,並遵循您在那裡設定的記憶體和保留原則。
使用方式情節
Azure Log Analytics 和 Power BI 有許多方法可協助您解決組織的實際挑戰。 請考量下列各項:
- 依容量、工作區、報表或用戶識別高或不尋常的 Analysis Services 引擎活動期間。
- 分析查詢效能和趨勢,包括外部 DirectQuery 作業。
- 分析語意模型重新整理持續時間、重疊和處理步驟。
- 使用 進階版 XMLA 端點分析傳送的自訂作業。
請在 Power BI 社群 中傳送意見反應,以瞭解您使用記錄的方式,以及其如何協助貴組織。
錯誤狀況和解決方式
下表提供一組常見的錯誤、觸發錯誤的事件或組態,以及建議的解決方案。
觸發條件 | 類型 | 訊息 |
---|---|---|
您沒有寫入 Log Analytics 工作區的許可權 | 錯誤 - 無法繼續 | 您需要此 Log Analytics 工作區的寫入許可權,才能將它連線到 Power BI。 請連絡您組織中管理 Azure 訂用帳戶的人員,以修正此問題。 |
您沒有寫入 Log Analytics 工作區帳戶的許可權 | 錯誤 - 無法繼續 | 您需要此 Log Analytics 工作區的寫入許可權,才能將它連線到 Power BI。 |
您無法存取任何 Azure 訂用帳戶 | 錯誤 - 無法繼續 | 您無法存取任何 Azure 訂用帳戶。 要求管理組織中 Azure 訂用帳戶的人員授與您參與者存取權或更高許可權的人員。 |
您無法存取該訂用帳戶內的任何 Azure Log Analytics 工作區 | 錯誤 - 無法繼續 | 您無法存取 Azure Log Analytics 工作區。 要求管理組織中 Azure 訂用帳戶的人員,將您新增至 Log Analytics 擁有者或參與者角色。 |
嘗試連線時停用工作區層級Log Analytics | 資訊 | 要求租用戶系統管理員授與工作區管理員連線 Log Analytics 工作區的許可權。 |
嘗試中斷連線時停用工作區層級的Log Analytics | 資訊 | 您的租用戶系統管理員撤銷了工作區系統管理員連線自己的 Azure Log Analytics 工作區的許可權。 如果您中斷連線,就無法連線到另一個連線。 |
事件和架構
啟用 Azure Log Analytics 之後,它會開始記錄下列 事件類別目錄。 如需這些事件的詳細資訊,請參閱 Analysis Services 追蹤事件。
- AggregateTableRewriteQuery
- Command
- 鎖死
- DirectQuery
- 探索
- 錯誤
- ProgressReport
- 查詢
- 會話初始化
- VertiPaqSEQuery
- 通知
下表描述 架構。
屬性 | 現有的 Azure Analysis Services 屬性 | 描述 |
---|---|---|
TimeGenerated | 產生記錄檔時的時間戳 (UTC)。 | |
OperationName | EventClass_s | 與記錄檔記錄相關聯的作業。 |
CorrelationId | 相關事件的標識碼。 可用來識別多個數據表之間的相互關聯事件。 | |
PowerBIWorkspaceId | 包含所操作成品之工作區的唯一標識碼。 | |
進階版 CapacityId | 裝載所操作成品之 進階版 容量的唯一標識符。 | |
ApplicationContext | ApplicationContext_s | 提供執行要求之應用程式詳細數據的唯一標識碼屬性包。 例如,報表標識碼。 |
ApplicationName | ApplicationName_s | 包含建立與伺服器連接之用戶端應用程式的名稱。 此資料行會填入應用程式所傳遞的值,而不是程序顯示的名稱。 |
ArtifactId | 記錄數據之資源的唯一標識碼。 | |
ArtifactKind | 記錄作業的成品類型,例如語意模型。 | |
CpuTimeMs | CPUTime_s | 事件所使用的 CPU 時間量(以毫秒為單位)。 |
ArtifactName | DatabaseName_s | 記錄這項作業的Power BI成品名稱。 |
LogAnalyticsCategory | 唯一 | 事件的類別,例如 Audit/Security/Request。 |
DatasetMode | 語意模型的模式。 Import、DirectQuery 或 Composite。 | |
DurationMs | Duration_s | 作業所花費的時間量(以毫秒為單位)。 |
使用者 | User_s | 與執行中作業相關聯的使用者。 在伺服器上必須模擬使用者身分識別時使用。 |
執行使用者 | EffectiveUsername_s | 執行作業的使用者。 |
OperationDetailName | EventSubclass_s | 作業的詳細數據。 |
XmlaObjectPath | ObjectPath_s | 對象路徑。 以逗號分隔的父代清單,從物件的父系開始。 |
PowerBIWorkspaceName | 包含成品的Power BI工作區名稱。 | |
StatusCode | Error_s | 作業的狀態代碼。 它涵蓋成功和失敗。 |
ProgressCounter | ProgressTotal_s | 進度計數器。 |
XmlaProperties | RequestProperties_s | XMLA 要求的屬性。 |
XmlaSessionId | SPID_s | Analysis Services 會話標識符。 |
等級 | Severity_s | 包含所記錄作業的嚴重性層級。 成功、資訊、警告或錯誤。 |
身分識別 | 使用者和宣告的相關信息。 | |
狀態 | 作業的狀態。 | |
EventText | TextData_s | 包含與作業相關聯的詳細資訊資訊,例如DAX查詢。 |
CustomerTenantId | 客戶的Power BI租用戶標識碼。 | |
XmlaRequestId | RootActivityId_g | 要求的唯一標識碼。 |
ReplicaId | 複本識別碼,可讓您在啟用查詢相應放大 (QSO) 時識別複本。 讀寫複本一律具有 ReplicaId='AAA',而只讀複本的 ReplicaId 會從 'AAB' 開始。 對於啟用非 QSO 的語意模型,ReplicaId 一律為 'AAA' |
範例 Log Analytics KQL 查詢
當您搭配 Power BI 使用 Azure Log Analytics 時,下列範例查詢集合可能會很有説明。 它們可以直接在 Azure 入口網站 或 API 中執行,以查詢最新的數據,通常大約 5-10 分鐘。
// log count per day for last 30d
PowerBIDatasetsWorkspace
| where TimeGenerated > ago(30d)
| summarize count() by format_datetime(TimeGenerated, 'yyyy-MM-dd')
// average query duration by day for last 30d
PowerBIDatasetsWorkspace
| where TimeGenerated > ago(30d)
| where OperationName == 'QueryEnd'
| summarize avg(DurationMs) by format_datetime(TimeGenerated, 'yyyy-MM-dd')
//query duration percentiles for a single day in 1 hour bins
PowerBIDatasetsWorkspace
| where TimeGenerated >= todatetime('2021-04-28') and TimeGenerated <= todatetime('2021-04-29')
| where OperationName == 'QueryEnd'
| summarize percentiles(DurationMs, 0.5, 0.9) by bin(TimeGenerated, 1h)
// refresh durations by workspace and semantic model for last 30d
PowerBIDatasetsWorkspace
| where TimeGenerated > ago(30d)
| where OperationName == 'CommandEnd'
| where ExecutingUser contains 'Power BI Service'
| where EventText contains 'refresh'
| project PowerBIWorkspaceName, DatasetName = ArtifactName, DurationMs
// query count, distinctUsers, avgCPU, avgDuration by workspace for last 30d
PowerBIDatasetsWorkspace
| where TimeGenerated > ago(30d)
| where OperationName == "QueryEnd"
| summarize QueryCount=count()
, Users = dcount(ExecutingUser)
, AvgCPU = avg(CpuTimeMs)
, AvgDuration = avg(DurationMs)
by PowerBIWorkspaceId
Power BI 報表範例
使用 GitHub 上的開放原始碼 Power BI 報表範本 ,探索並取得 Azure Log Analytics Power BI 數據的深入解析。
相關內容
下列文章可協助您深入瞭解 Power BI 及其與 Azure Log Analytics 的整合。
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應