注:本文最初发布于https://d-bi.gitee.io, 2023年6月迁移至CSDN
前述
Azure Log Analytics是Azure Monitor中的一项分析服务。本文将讲述通过Log Analytics与Power BI集成的方式,获取Power BI工作区内的日志信息,包括各PBI数据集的CPU消耗,查询数量及性能,以及数据刷新时长、数据刷新失败监测及用户查询活动等信息,这将极大地帮助Power BI管理员及其成员对工作区进行优化和管理,以及在出现负载问题时,快速找出问题的根源。
原理
基本流程与原理:
实施
准备工作
1.在Azure Portal中创建Log Analytics,可参考此文档。
2.启用’microsoft insights’, 可参考此文档。
3.在Power BI中启用Log Analytics
连接到Log Analytics
1.配置权限。此步骤,你也可以参考微软文档,但其中内容并非最佳实践(截止到本文发布时的版本)。文档提到需要Power BI Service以及配置Log Analytics的用户都拥有Owner权限,但依据最低权限原则,Power BI Service只需拥有Monitor Contributor权限即可。
2.连接PBI工作区与Log Analytics工作区
出现以下错误,一般是权限设置错误,确保Power BI Serice拥有Monitor Contributor权限(而非reader)
连接成功后如下所示:
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工作区的日志数据,如下:
也许我们不熟悉查询的写法,但文档中这些用例是非常不错的参考资料。
使用Power BI App: Log Analytics for Power BI Datasets
使用此方法则无需自行编写查询,利用既有模板提供的丰富可视化进行分析,虽然缺少灵活性,但覆盖的内容十分全面。
1.安装设置。此处设置该App读取Log数据的起止时间,例如下图即取近7日数据:
此处注意是读取LA工作区,而非PBI工作区:
2.运行App。配置完成后,一个包含样本数据的App会显示(如下),接下来只需连接数据源即可读取我们在LA中关联的PBI工作区的日志数据了。
Power BI App 本质上也是一份Import模式的PBI数据集,因此可以为其设置定时数据刷新 (如下)。此外REST API也可以读取到该App并对其执行GET/POST操作。
接下来就可以使用该App诊断PBI工作区的性能问题,你可以由大到小直接定位到影响性能的DAX查询,以便后续优化:
顺便一提,Power BI App目前不支持deployment pipeline, 且LA工作区与PBI工作区是一对一关系,因此测试环境与生产环境的Log Analytics App 需要分别单独安装配置。
End~
关注作者: 知乎 | Power BI官方社区