Building a Power BI monitoring solution: from audit logs to finalized delivery

English Intermediate Azure

Monitoring adoption measurement and user engagement in Power BI is still a challenge, despite the platform improvements over the years. If you want detailed metrics up to single user activity, you have to read the activity log which is rather difficult to access and extract. Security limitations and technical requirements might be a serious obstacle on the way to get data from the audit log. And once you finally get your files, what to do? How to read the log? How to extract valuable from the JSON array output? Furthermore, the retention policy of Power BI audit data is only 90 days. It is essential to extract and store the data somewhere before the it gets lost. We coped the same issues as you in my company and we built an end-to-end monitoring solution in Azure. The audit log is extracted and stored in a storage account, a pipeline transforms and copies the data in Synapse where a data model is built. Final outcomes in the delivery chain are many Power BI reports pointing to the data model. During the session, I walk you through the solution we built. Architecture, technical implementation, tools and services we used, issues mistakes and gap we discovered. At the end you’ll have a full understanding of what is needed for building such a solution, and you can assess how to implement it in your own situation.


Andrea Martorana Tusa

MVP Data Platform - BI Front-end Engineer at Pandora

Microsoft MVP Data Platform. BI Front-End engineer in Pandora. Contributing to establish a data-driven culture, through the adoption of a new data architecture. Admin of the company's Power BI tenant with duties of governance, monitoring and auditing. Product Owner for the common Content Management platform built on Sharepoint Solution Owner for the Data Analytics and Identity Access Management Azure platform. Common speaker in events and conferences around Europe (SQL Saturdays, PASS Summit, SQL Nexus, Intelligent Cloud, SQL Konferenz, SQL Day Poland, dataMinds Connect, Power BI Summit, Power Platform Bootcamp, etc). Speaker for DW/BI and the Italian Virtual Chapter. Author for,, UGISS (User Group Italiano SQL Server).

Code of Conduct

We seek to provide a respectful, friendly, professional experience for everyone, regardless of gender, sexual orientation, physical appearance, disability, age, race or religion. We do not tolerate any behavior that is harassing or degrading to any individual, in any form. The Code of Conduct will be enforced.

Who does this Code of Conduct apply to?

All live stream organizers using the Global Azure brand and Global Azure speakers are responsible for knowing and abiding by these standards. Each speaker who wishes to submit through our Call for Presentations needs to read and accept the Code of Conduct. We encourage every organizer and attendee to assist in creating a welcoming and safe environment. Live stream organizers are required to inform and enforce the Code of Conduct if they accept community content to their stream.

Where can I get help?

If you are being harassed, notice that someone else is being harassed, or have any other concerns, report it. Please report any concerns, suspicious or disruptive activity or behavior directly to any of the live stream organizers, or directly to the Global Azure admins at All reports to the Global admin team will remain confidential.

Code of Conduct for local live streams

We expect local organizers to set up and enforce a Code of Conduct for all Global Azure live stream.

A good template can be found at, including internationalized versions at An excellent version of a Code of Conduct, not a template, is built by the DDD Europe conference at