Reporting Tools Overview¶
As a Cyber specialist, I have had to develop quite a few security dashboards over the years. This has lead me down a path of data engineering, combining my expertise in Cyber engineering with data. While working with different reporting tools, I have come to know some of them quite well, and in this blog post, I will share some of my thoughts on the different tools, and give you a bit of insight to which one to choose for your next project.
Looker Studio¶
Looker Studio is one of my favourites. Not only is it free for the cloud offering, you also get a rich set of visualiations, allowing you to build some intricate dashboards.
If you wanted to move the dashboard to another tenant, you will not be able to do it, since Looker Studio does not offer an export / import function. Also if you wanted to do some very complex calculation, like do a double aggregation, it won't be able to accomodate that.
Like most dashboards, it does support calculated fields (or metrics). It has a number of built-in data collectors, so connecting to things like BigQuery, mySQL, SQL Server or Postgres will be a breeze.
If cost is your driving factor, do consider Looker Studio as a starting point.
✅ Advantage | ❌ Disadvantage |
---|---|
Free | Limitations with very complex calculations |
SaaS service | Cannot import or export dashboards |
Good set of visualisations |
ObservableHQ Framework¶
ObservableHQ Framework is another favourite of mine. This one for me shines because you can build dashboards as code. Every dashboard is a markdown file where you can embed your own SQL. This is great for repeatable dashboards, where the same design can be copied across.
Unlike the other tools, Observable Framework is a "static site generator". So all the data, and other components are all downloaded to the browser to be rendered locally. All the SQL code run in a local DuckDB database (inside your browser). Now do consider this. In order to serve the dashboard to your users, you have to provide your own web server, and secure it yourself. The data file may contain sensitve data, and this is distributed to the browser. If you don't want your users to have access to some of the content, you will need to prevent it from being generated.
It also has zero support for extracting data - that's on you. You need to develop your own data collector process. The advantage is that with a few lines of Python (or your language of choice) you can connect to any data source, download as json, csv of parquet, and ObservableHQ will be able to read that file just fine. Or alternatively, just provide the data files, and you're good to go.
✅ Advantage | ❌ Disadvantage |
---|---|
Free when you self-host | No build-in security when running locally |
Dashboard as code | No infrastructure - deploy on your own web server |
SaaS offering is not to expensive | You have to develop your own data extractors |
Rich set of visualisations | Data set is downloaded to the browser |
Runs SQL | |
Dashboard is generated locally |
Metabase¶
Metabase is awesome. It works great, it runs well, is a little tricky to wrap your head around, but once you get that a "question" is basically a SQL query, you're off to the races. With little effort, you can build beautifully looking dashboards. It works great.
I really can't fault it. They do have a SaaS offering, and you can host it free locally. So you can spin up an instance. See my previous article on how to host your own reporting platform.
✅ Advantage | ❌ Disadvantage |
---|---|
Free when you self-host | Not easy to import / export on a free plan |
Rich set of visualisations |
Apache Superset¶
Apache SuperSet is a good contender. It felt a bit unpolished. I had some difficulties getting it running, but overall, it was similar to Metabase - the same idea of building a query first, and then joining the queries into a dashboard.
With this one, there is no SaaS offering. If you want it, it is all self hosted.
✅ Advantage | ❌ Disadvantage |
---|---|
Free | You have to host it yourself |
Rich set of visualisations |
Grafana¶
Grafana is another heavy weight in the observability space. It is used by many clients all over the world. Apart from just being a reporting frontend, it can also ingest data from various data sources.
Grafana is free when you host it yourself. See my previous article on how to host your own reporting platform.
✅ Advantage | ❌ Disadvantage |
---|---|
Free when you self-host | Some limitations with visualisations |
PowerBI¶
PowerBI is the master of the universe. This one has it all. Very rich features, built-in DAX language engine for complex queries. It can do it all. From a pure feature and visualisation perspective, I've not seen a tool that comes close to PowerBI.
Unlike the others, PowerBI is not cheap. It is free to develop, but quite expensive to share the reports. Unless you're a heavy-licensed Microsoft Azure shop, with plenty of E1 licenses, chances are that PowerBI might just be out of your reach.
Apart from cost, I did find the UI a bit funny. There are attributes you can set on the right-hand menu, but there's also attributes you can modify on the ribbon menu at the top. If you don't know what to look for, you can spend hours going through the one menu, when you should be looking at the other. Apart from the funny UI for developers, it is quite capable.
✅ Advantage | ❌ Disadvantage |
---|---|
Develop for free | Expensive to run in the Cloud |
Very rich set of visualisations | Desktop tool is tricky to learn |
Very rich set of features | |
Can export / import dashboards |
Feature Comparison¶
Feature | Looker Studio | Observable | Metabase | Apache SuperSet | Grafana | PowerBI |
---|---|---|---|---|---|---|
SaaS option? | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ |
Self-hosted (Free) | ❌ | ✅ | ✅ | ✅ | ✅ | ❌ |
Dashboards as code | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ |
Run SQL | ❌ | ✅ | ✅ | ✅ | ✅ | DAX |
Cost | Free | $ | $ | Free | $$ | $$$ |