• Blog
  • How to Build Open Source Cloud Asset Inventory with CloudQuery and Microsoft Power BI

How to Build Open Source Cloud Asset Inventory with CloudQuery and Microsoft Power BI

In this blog post, we will walk you through how to setup CloudQuery to build your cloud asset inventory in PostgreSQL and connect it to Microsoft Power BI for visualization, monitoring and reporting.

General Architecture

  • ETL (Extract-Transform-Load) ingestion layer: CloudQuery

  • Datastore: PostgreSQL

  • Data Visualization and Exploration Platform: Microsoft Power BI

What you will get

  • Raw SQL access to all your cloud asset inventory to create views or explore any questions or connection between resources.

  • Multi-Cloud Asset Inventory: Ingest configuration from all your clouds to a single datastore with a unified structure.

  • Avoid yet-another-dashboard fatigue: Reuse your existing Power BI setup to build a cloud asset inventory.

Walkthrough

Step 1: Install or Deploy CloudQuery

If it’s your first time using CloudQuery we suggest you first run it locally to get familiar with the tool, take a look at our Getting Started with Azure Guide.

If you are already familiar with CloudQuery, take a look at how to deploy it to Azure on AKS at https://github.com/cloudquery/terraform-azure-cloudquery.

Step 2: Downloading Microsoft Power BI

Unfortunately, Power BI does not support the PostgresSQL connector from the web application.

We can still use the PostgresSQL connector by downloading the Power BI Desktop from here.

Step 3: Connecting Microsoft Power BI to PostgreSQL

Connection to Local / Remote server requires you to authorize the IP of the machine you’re running Power BI Desktop on.

See connection full walkthrough.

Click Get Data and choose PostgresSQL database (In this tutorial we will connect to publicly accessible PostgresSQL server with authorized IP) and fill-in the connection details:

Step 4: Visualize the Data!

Choose the table you want to visualize, in this case we will choose the azure_resources view.

💡 To create the azure_resources view, run the following view before importing to the data studio.

Choose the table to visualize

Design your report

You can reuse Power BI to export/share those reports as well!

Summary

In this post we showed you how to build an open-source cloud asset inventory with CloudQuery as the ETL (Extract-Transform-Load) / data-ingestion layer and Microsoft Power BI as the visualization platforms. This approach eliminates the yet-another-dashboard fatigue and gives you the ability to pick the best-in-class visualization tools and/or reuse your current stack.