Visualize Live RabbitMQ Data of Power BI Report Builder in Power BI Service
CData Power BI Connectors provide self-service integration with Microsoft Power BI. The CData API Driver for Power BI links your Power BI reports to real-time RabbitMQ data. You can monitor RabbitMQ data through dashboards and ensure that your analysis reflects RabbitMQ data in real time by scheduling refreshes or refreshing on demand. This article details how to use the Power BI Connector to create real-time visualizations of RabbitMQ data in Microsoft Power BI Desktop.
Create and Configure a DSN
Installing the Power BI Connector creates a DSN (data source name) with the name CData PBI RabbitMQ that Power BI uses to connect to the data source. Configure the DSN by filling in the required connection properties.
You can use the Microsoft ODBC Data Source Administrator to create a new DSN or configure (and rename) an existing DSN. From the Start menu, enter "ODBC Data Sources." Ensure that you run the version of the ODBC Administrator that corresponds to the bitness of your Power BI Desktop installation (32-bit or 64-bit).
About RabbitMQ Management HTTP API
RabbitMQ is an open-source message broker that supports multiple messaging protocols. The RabbitMQ Management HTTP API provides HTTP-based access to management and monitoring data for a RabbitMQ server. The API exposes information about virtual hosts, exchanges, queues, bindings, connections, channels, consumers, users, permissions, policies, and cluster-wide statistics.
The Management plugin must be enabled on the RabbitMQ server for the HTTP API to be available. By default, the management interface listens on port 15672.
Using Basic Authentication
RabbitMQ Management HTTP API uses HTTP Basic authentication. You must supply the username and password of a RabbitMQ management user.
To enable access to the management API:
- Ensure the RabbitMQ Management plugin is enabled on your server (rabbitmq-plugins enable rabbitmq_management).
- Use an existing management user or create one with the appropriate management tag (management, policymaker, monitoring, or administrator).
- Note the full base URL of your RabbitMQ Management HTTP API (e.g., http://localhost:15672).
After configuring your RabbitMQ server, set the following connection properties to connect:
- AuthScheme: Set this to Basic.
- URL: Set this to the base URL of your RabbitMQ Management HTTP API (e.g., http://localhost:15672).
- User: Set this to your RabbitMQ management username (e.g., guest).
- Password: Set this to your RabbitMQ management password.
Example connection string:
Profile=C:\profiles\RabbitMQ.apip;AuthScheme=Basic;URL=http://localhost:15672;User=guest;Password=guest;
Available Tables
The RabbitMQ profile provides access to the following tables:
- Overview - Cluster-wide statistics and information about the RabbitMQ node
- Nodes - Information about individual nodes in the RabbitMQ cluster
- NodeMemory - Detailed memory usage breakdown for a specific cluster node
- Connections - List of all open AMQP connections to the broker
- Channels - List of all open AMQP channels across all connections
- Consumers - List of all consumers registered across all queues
- Exchanges - List of exchanges declared across all virtual hosts
- Queues - List of queues declared across all virtual hosts
- Bindings - List of all bindings between exchanges and queues
- VirtualHosts - List of virtual hosts configured on the broker
- VhostPermissions - User permissions within a specific virtual host
- Users - List of all RabbitMQ users
- Permissions - Permission records for all users across all virtual hosts
- TopicPermissions - Topic-level permission records for all users
- Policies - List of policies applied to queues and exchanges in virtual hosts
- OperatorPolicies - List of operator policies applied to queues in virtual hosts
- Parameters - List of component parameters (e.g., federation, shovel) per virtual host
- GlobalParameters - List of global parameters that apply across all virtual hosts
- VhostLimits - Resource limits configured for specific virtual hosts
- UserLimits - Resource limits configured for specific users
- FeatureFlags - List of feature flags and their enabled/disabled state on the node
- DeprecatedFeatures - List of deprecated features and their usage state
- AuthAttempts - Authentication attempt statistics for the node
- ClusterName - The name of the RabbitMQ cluster
- WhoAmI - Information about the currently authenticated management user
- ExchangeBindingsSource - Bindings for which a specific exchange is the source
- ExchangeBindingsDestination - Bindings for which a specific exchange is the destination
- QueueBindings - Bindings for a specific queue within a virtual host
Get RabbitMQ Data
With the data source configured, follow the steps below to load data from RabbitMQ tables into a dataset.
Select Tables and Views to Load
- Open the Power BI Report Builder and choose Blank Report.
- Click On Data Sources -> Add Data Source.
- Choose Connection Type as ODBC and click on "Build."
- Click on "Use user or system data source name" and select CData PBI RabbitMQ Sys.
- Click on Test Connection in Connection Properties and make sure it is successful.
- Click Test Connection in the Data Source Properties Window and click on OK.
- With the Data Source configured, you can configure the DataSets. Click on DataSets -> Add Dataset. Choose the Data Source you recently configured and click on Query Designer.
- Write an SQL Command for the table you wish to generate a report on and click "Run" (!). You can find the table names from the Metadata Tab in the CData Connection Manager in DSN.
- Click on "Validate Query." You will see the Column names on the left-hand side of the window. Now, you can generate any report according to your use case.
Create Data Visualizations
After loading RabbitMQ data into Power BI Report Builder, you can create data visualizations in the Report view by dragging fields from the Fields pane onto the canvas. Follow the steps below to create a chart:
- Navigate to Insert -> Chart -> Insert Chart -> Select Chart Type and click OK.
- Select Values, Category Groups, and Series Groups. You can apply filters to the page, report, or to a single visualization by dragging fields onto the Filters pane. To filter on the field value, select one of the values displayed in the Filters pane.
Configure Data Refresh on PowerBI.com
Follow the steps below to configure automatic data refresh through the Power BI Gateway. The gateway enables the Power BI cloud service to connect to the DSN on your machine.
Selecting a Gateway Mode
You need to select a gateway mode when you install the gateway:
- Gateway (personal mode): Use the gateway in personal mode if you only need to publish to PowerBI.com and refresh reports. The gateway runs under your Windows user account.
- (Recommended) Gateway (Standard mode - formerly Enterprise): Use the default gateway if you use other Azure services requiring a gateway. You also need the default gateway if multiple users need to access the gateway. You need a system DSN to connect through the default gateway. (System DSNs can be accessed system-wide, while user DSNs are restricted to a specific user account.) You can use the CData Power BI Salesforce system DSN configured as the last step of the connector installation.
Configuring the Gateway (Personal Mode)
Publishing through the gateway in personal mode requires an installed gateway with access to custom connectors.
- Run the CData Power BI Connector installer. Download the Power BI Gateway (Personal Mode) if you have not already done so.
- Select the on-premises data gateway (personal mode) option.
- Sign in to the gateway.
- In the Connectors section of the gateway settings, enable the "custom data connectors" option. You can also specify an alternate path to the custom data connector .pqx files here.
Note: The CData Power BI Connectors install the .pqx files to the default folder. Path: "Your User Home\Documents\Power BI Desktop\Custom Connectors."
Configuring the Gateway (Standard Mode)
Publishing through the gateway requires an installed gateway with access to customer connectors and a configured connection to the DSN for Salesforce from PowerBI.com.
Set Up the Gateway
Follow the steps below to configure the gateway on your machine:
- Run the CData Power BI Connector installer. If you have not already done so, download the Power BI Gateway (Standard Mode).
- Select the on-premises data gateway (recommended) option.
- Sign into the gateway.
- Name the gateway and specify a recovery key.
- In the Connectors section, choose a folder where the gateway will look for the CData Power BI Connector. This article uses "C:\Users\PBIEgwService\Documents\Power BI Desktop\Custom Connectors\". Alternatively, copy the .pqx files of the CData Connectors (found in "C:\Users\USERNAME\Documents\Power BI Desktop\Custom Connectors\") to the folder you configured.
Note: The account configured for the service (NT SERVICE\PBIEgwService) must be able to access the folder chosen for the gateway. If needed, you can change the service account in the Service Settings section of the gateway installer.
- Confirm that the entry CData.API is in the list in the Connectors section.
Connect to Salesforce Data from PowerBI.com
- Add a data source to the gateway: Log into PowerBI.com and from the Settings menu, select Manage Gateways and select your gateway.
- Select "Allow user's custom data connectors to refresh through this gateway cluster."
- Click Apply to save your changes.
- Click the option to add a data source to the gateway.
- In the Data Source Settings section, enter a name for the data source. In the Data Source Type menu, select CData API Driver for Power BI.
- In the Data Source Name box, enter the system DSN: CData PBI RabbitMQ Sys.
Publish to PowerBI.com
You can now publish refreshable reports and their underlying datasets. Follow the steps below to publish and complete the data refresh configuration for a dataset.
- In Power BI Desktop Report Builder, click "Publish" on the Home ribbon to publish the report.
- On PowerBI.com, select the workspace where the report is uploaded and provide a file name.
- Click on "Open RabbitMQ in Power BI" to open the report in the Power BI Service in your browser.
Error Encountered and Solution
If you get an error message like "Unable to render paginated report," then you can follow the instructions below to resolve the error.
Create a Data Source in the Power BI Service
- Click on "Update data source credentials".
- Click on "Continue".
- In the Gateway Connection section, enable the option to use a gateway and select your gateway. You may need to add the data source to the gateway manually:
- Expand the Gateway under the Actions column.
- Click the link to "Manually add to gateway."
- Click on Add to gateway (refer to the screenshot below). Choose Basic as Authentication because Anonymous Authentication is not supported. Provide the username and password for the Power BI Service Account.
- After the Data Source is successfully created, select the Connection name in "Maps to" and apply the changes.
- Go to Power BI Report Builder and click "Open RabbitMQ in Power BI". You can now see the created report in the Power BI Service (Online).
At this point, you will have a Power BI report built on top of live RabbitMQ data using Power BI Report Builder and CData Power BI connectors. Learn more about the CData Power BI Connectors for RabbitMQ and download a free trial from the CData API Driver for Power BI page. Let our Support Team know if you have any questions.