Why We LOVE Grafana for Dashboards and Analytics
My original intent was to build a visualization solution. But then I found Grafana and fell in love.
I'm a huge fan of open source projects. There are some pros and cons of using open source technologies but, when used properly, they can save thousands of dollars on per-user software fees that SaaS companies typically charge.
Here's the Good, the Bad, and the Ugly about using Grafana.
The Good
Unlimited Users!
I think it's a shame how SaaS companies charge based on the number of users instead of based on usage. This is absolutely the first thing that I love about open source. I can add as many users as I want and there's no additional fee. I've worked too long in companies to see users share logins to avoid paying fees for someone who uses a platform once per month. The advantages of open source are fantastic. You pay for your disk space, your server hosting cost, and that's it. If you want one user or a million, as long as the platform and hosting support it, you can do it.
Capabilities
Out of the box, Grafana has some amazing visualizations that work with massive amounts of data. Grafana is typically used by server administrators who are using this as a visualization tool for looking at server logs and server performance. Because of this, it has to be able to work with massive amounts of data AND be able to aggregate and visualize data across different data sources.
Flexibility
Grafana was designed with a plugin infrastructure, meaning that anyone can create and release a plugin that updates the functionality. This type of system architecture is what made WordPress a fantastic open source platform (which, by-the-way, powers about 40% of the web) and Grafana has enabled this capability in their reporting platform. What this means is that third-party developers can release free or paid plugins that enhance the platform and it makes it easy to expand the capabilities.
Documentation
As a technical user, they've done a great job at creating fantastic documentation about how to use their platform, and they have a 'playground' where I can see the configuration of different types of visualizations and duplicate that configuration in my own platform.
The Bad
Made for Geeks
There are a few things that are lacking in terms of setup and usage if you aren't technical. To install Grafana, you need to have some Linux skills. It's not hard and they've documented it well, but if you don't know what SSH means, then it's not for the faint of heart.
Creating reports are also a little more challenging if you don't have SQL skills. They've built some visualizations that allow you to select a table and aggregate data, but many dashboards often require some advanced SQL skills to use it effectively.
Data-Level Permissions
With Grafana, there are limited ways to create data-level permissions based on the user who has logged in. This works for some organizations, but if you are sharing reports with external third parties (which Grafana does very well) then you need to be aware that those users can see everything you can and change different options on on variables. This means that you have less control over what someone can do with your report once you give it to them.
There are ways to do this and Grafana does support role-based permissions, but at the data-level it's ugly and someone can easily compromise your data if you aren't careful.
Responsive Reports
Unfortunately, Grafana is made for desktops. Technically, you can view a report on your phone or tablet and it resizes appropriately, however, you can't control the layout specific for mobile. You can create mobile-friendly versions of a report, however, it's a different report so if the code changes in one report, it has to change in the mobile-friendly version.
White-Labeled Reports
The platform can be customized to support white-labeling, but it's not a configuration setting like many other open source platforms support.
The Ugly
Printing and PDF capability SUCKS
Grafana built their UI for dashboard controls on top of another open source library. For some reason, developers who built this library didn't think about being able to either print or create PDFs from the screen. The default printing is 100% wonky and unusable.
Someone built a printing plugin for it, but I installed it and it was WORSE than the default printing.
The font is Times New Roman. Enough said.
That said, I spent a fair number of hours to build a Print to PDF capability (if you want it ping me on LinkedIn and I'll send you the code) but it doesn't work out of the box.
Weighing Pros/Cons of Grafana
As a technical user who has tested multiple open source reporting platforms (and has used enterprise reporting platforms such as Tableau and Power BI), what I would says is to review the following to see if Grafana is a good fit:
- Do you want to be able to support many users at a fixed rate? (A server costs between $10-$20 per month on most hosting platforms and the software is free.)
- Do you know a little SQL or have access to someone who does? (To be fair I think this is true for ALL reporting platforms.)
- Do you need to provide white-labeled reports? It can be done but it's a pain.
- Do you have access to a Linux admin who can set up and install the server? (It's easy to find someone with the skills to set this up, however, it needs to be done right otherwise your data could be leaked.)
- Do you need to share sensitive data with external third parties?
- Do you need to share sensitive data with external third parties? Sharing is so easy in Grafana that it's easy to provide access to data that shouldn't be shared.