Azure Log Analytics:与Power BI集成

注:本文最初发布于https://d-bi.gitee.io, 2023年6月迁移至CSDN


前述

Azure Log Analytics是Azure Monitor中的一项分析服务。本文将讲述通过Log Analytics与Power BI集成的方式,获取Power BI工作区内的日志信息,包括各PBI数据集的CPU消耗,查询数量及性能,以及数据刷新时长、数据刷新失败监测及用户查询活动等信息,这将极大地帮助Power BI管理员及其成员对工作区进行优化和管理,以及在出现负载问题时,快速找出问题的根源。

原理

基本流程与原理:

Azure Log Analytics:与Power BI集成_第1张图片

实施

准备工作

1.在Azure Portal中创建Log Analytics,可参考此文档。

Azure Log Analytics:与Power BI集成_第2张图片

2.启用’microsoft insights’, 可参考此文档。

3.在Power BI中启用Log Analytics

Azure Log Analytics:与Power BI集成_第3张图片

连接到Log Analytics

1.配置权限。此步骤,你也可以参考微软文档,但其中内容并非最佳实践(截止到本文发布时的版本)。文档提到需要Power BI Service以及配置Log Analytics的用户都拥有Owner权限,但依据最低权限原则,Power BI Service只需拥有Monitor Contributor权限即可。

Azure Log Analytics:与Power BI集成_第4张图片

2.连接PBI工作区与Log Analytics工作区

Azure Log Analytics:与Power BI集成_第5张图片

出现以下错误,一般是权限设置错误,确保Power BI Serice拥有Monitor Contributor权限(而非reader)
Azure Log Analytics:与Power BI集成_第6张图片

连接成功后如下所示:

Azure Log Analytics:与Power BI集成_第7张图片

Log Analytics 应用

利用Log Analytics分析Power BI工作区内容有两种方式:1.直接在Log Analytics工作区中查询;2.安装Power BI App: Log Analytics for Power BI Datasets Template (安装教程)

在Log Analytics工作区中查询和分析PBI内容

点击Logs选项卡,就可以使用查询语句来检索所有有关PBI工作区的日志数据,如下:

Azure Log Analytics:与Power BI集成_第8张图片

也许我们不熟悉查询的写法,但文档中这些用例是非常不错的参考资料。

使用Power BI App: Log Analytics for Power BI Datasets

使用此方法则无需自行编写查询,利用既有模板提供的丰富可视化进行分析,虽然缺少灵活性,但覆盖的内容十分全面。

1.安装设置。此处设置该App读取Log数据的起止时间,例如下图即取近7日数据:

Azure Log Analytics:与Power BI集成_第9张图片

此处注意是读取LA工作区,而非PBI工作区:

Azure Log Analytics:与Power BI集成_第10张图片

2.运行App。配置完成后,一个包含样本数据的App会显示(如下),接下来只需连接数据源即可读取我们在LA中关联的PBI工作区的日志数据了。

Azure Log Analytics:与Power BI集成_第11张图片

Power BI App 本质上也是一份Import模式的PBI数据集,因此可以为其设置定时数据刷新 (如下)。此外REST API也可以读取到该App并对其执行GET/POST操作。

Azure Log Analytics:与Power BI集成_第12张图片

接下来就可以使用该App诊断PBI工作区的性能问题,你可以由大到小直接定位到影响性能的DAX查询,以便后续优化:

Azure Log Analytics:与Power BI集成_第13张图片

顺便一提,Power BI App目前不支持deployment pipeline, 且LA工作区与PBI工作区是一对一关系,因此测试环境与生产环境的Log Analytics App 需要分别单独安装配置。

End~


关注作者: 知乎 | Power BI官方社区

你可能感兴趣的:(Azure,PowerBI,azure,bi,microsoft)