Monitor Power BI Embedded

When you have critical applications and business processes relying on Azure resources, you want to monitor those resources for their availability, performance, and operation. This article describes the monitoring data generated by Power BI Embedded and how you can use the features of Azure Monitor to analyze and alert on this data.

Tip

You can also use the Premium Gen2 Monitoring App to monitor your Embedded Gen 2 capacity.

Monitor overview

The Overview page in the Azure portal for each Power BI Embedded instance, includes the following information:

  • Resource group - The resource group the instance belongs to
  • Status - The status of your Power BI Embedded instance
  • Location - The location of your Power BI Embedded instance
  • Resource name - The name of your Power BI Embedded instance
  • SKU - The SKU your Power BI Embedded instance is using
  • Subscription name - Your Power BI Embedded instance subscription name
  • Subscription ID - Your Power BI Embedded instance subscription ID

What is Azure Monitor?

Power BI Embedded creates monitoring data using Azure Monitor, which is a full stack monitoring service in Azure that provides a complete set of features to monitor your Azure resources in addition to resources in other clouds and on-premises.

Start with the article Monitoring Azure resources with Azure Monitor, which describes the following concepts:

  • What is Azure Monitor?
  • Costs associated with monitoring
  • Monitoring data collected in Azure
  • Configuring data collection
  • Standard tools in Azure for analyzing and alerting on monitoring data

The following sections build on this article by describing the specific data gathered for Power BI Embedded and providing examples for configuring data collection and analyzing this data with Azure tools.

Monitoring data

Power BI Embedded collects the same kinds of monitoring data as other Azure resources that are described in Monitoring data from Azure resources.

See Monitoring Power BI Embedded data reference for detailed information on the metrics and logs metrics created by Power BI Embedded.

Collection and routing

Platform metrics and the Activity log are collected and stored automatically, but can be routed to other locations by using a diagnostic setting.

Resource Logs are not collected and stored until you create a diagnostic setting and route them to one or more locations.

See Create diagnostic setting to collect platform logs and metrics in Azure for the detailed process for creating a diagnostic setting using the Azure portal, CLI, or PowerShell. When you create a diagnostic setting, you specify which categories of logs to collect. The categories for Power BI Embedded are listed in Power BI Embedded monitoring data reference.

Using PowerShell to enable diagnostics

To enable metrics and diagnostics logging by using PowerShell, use the commands listed below. To learn more about using PowerShell to enable diagnostics, see Create and configure a Log Analytics workspace in Azure Monitor using PowerShell.

  • To enable storage of diagnostics logs in a storage account, use this command:

    Set-AzureRmDiagnosticSetting -ResourceId [your resource id] -StorageAccountId [your storage account id] -Enabled $true
    

    The storage account ID is the resource ID for the storage account where you want to send the logs.

  • To enable streaming of diagnostics logs to an event hub, use this command:

    Set-AzureRmDiagnosticSetting -ResourceId [your resource id] -ServiceBusRuleId [your service bus rule id] -Enabled $true
    
  • The Azure Service Bus rule ID is a string with this format:

    {service bus resource ID}/authorizationrules/{key name}
    
  • To enable sending diagnostics logs to a Log Analytics workspace, use this command:

        Set-AzureRmDiagnosticSetting -ResourceId [your resource id] -WorkspaceId [resource id of the log analytics workspace] -Enabled $true
    
  • You can obtain the resource ID of your Log Analytics workspace by using the following command:

    (Get-AzureRmOperationalInsightsWorkspace).ResourceId
    

You can combine these parameters to enable multiple output options.

The metrics and logs you can collect are discussed in the following sections.

Analyzing metrics

You can analyze metrics for Power BI Embedded with metrics from other Azure services using metrics explorer by opening Metrics from the Azure Monitor menu. See Getting started with Azure Metrics Explorer for details on using this tool.

For a list of the platform metrics collected for Power BI Embedded, see Monitoring Power BI Embedded data reference metrics

For reference, you can see a list of all resource metrics supported in Azure Monitor.

Analyzing logs

Data in Azure Monitor Logs is stored in tables where each table has its own set of unique properties.

All resource logs in Azure Monitor have the same fields followed by service-specific fields. The common schema is outlined in Azure Monitor resource log schema The schema for Power BI Embedded resource logs is found in the Power BI Embedded Data Reference.

The Activity log is a platform login Azure that provides insight into subscription-level events. You can view it independently or route it to Azure Monitor Logs, where you can do much more complex queries using Log Analytics.

For a list of the types of resource logs collected for Power BI Embedded, see Monitoring Power BI Embedded data reference

For a list of the tables used by Azure Monitor Logs and queryable by Log Analytics, see Monitoring Power BI Embedded data reference

Sample Kusto queries

Important

When you select Logs from the Power BI Embedded menu, Log Analytics is opened with the query scope set to the current Power BI Embedded resource. This means that log queries will only include data from that resource. If you want to run a query that includes data from other Power BI Embedded resource or data from other Azure services, select Logs from the Azure Monitor menu. See Log query scope and time range in Azure Monitor Log Analytics for details.

Below are query examples for monitoring Power BI Embedded.

  • This is a query that is completed in less than five minutes (300,000 milliseconds).

        search *
        | where Type == "AzureDiagnostics"
        | where ( OperationName == "QueryEnd" )
        | where toint(Duration_s) < 300000   
    
  • Identify capacity names.

        search *
        | where Type == "AzureDiagnostics"
        | where ( OperationName == "QueryEnd" )
        | where toint(Duration_s) < 300000   
    

Alerts

Azure Monitor alerts proactively notify you when important conditions are found in your monitoring data. They allow you to identify and address issues in your system before your customers notice them. You can set alerts on metrics, logs, and the activity log.

Next steps

You can learn more about Azure resource diagnostic logging.