To start with a confession, I like dashboards. A lot.
I've always been fascinated by finding new and interesting ways to bring meaning to data with interactive visualization tools. While I'm definitely a geek for numbers, the human mind is simply much better at interpreting trends visually than it is just picking them out a spreadsheet. And even when your main interest in a dataset is the raw numbers themselves, a dashboard can help to bring meaning by highlighting which values matter most, and what the context of those numbers is.
Figuring out how to best visualize your data can be challenging. Maybe you started out by creating a few graphs in a spreadsheet and are trying to find a way to tie them all together. Or maybe you're working with an existing analytics tool and want to find a way to make your data more accessible to a wider audience. Or perhaps you've go several real-time sources and are trying to find a way to tie them all together.
Fortunately, there are a number of great open source dashboard tools out there that make the job much easier. On one end of the spectrum are open source business intelligence tools, like BIRT or Pentaho. But for a smaller project, tools like these could be overkill, and in some cases, you might be able to find a dashboard tool that is already designed to work with the kind of data you are dealing with.
Here's a look at a few open source dashboard tools that you might consider.
The code for Freeboard can be found on GitHub under an MIT license.
Mozaïk can be found on GitHub under an MIT license.
Dashbuilder is a Java-based dashboard tool which is designed to be customizable in a number of ways. It supports a variety of different visualization tools and libraries out of the box, and can be used to create either static or real-time dashboards with data coming from a variety of sources. A part of the JBoss community, Dashbuilder is designed to integrate with a number of tools you may already be using.
You can find the source to Dashbuilder on GitHub under an Apache 2 license.
Grafana is a dashboard tool with a large following which is commonly used to monitor real-time data about server health and the various processes running on top. Like most of these tools, what you choose to use it for is up to you, and I have seen many interesting uses for Grafana outside of server monitoring. It supports a variety of different data sources, and includes many advanced features not found in some other tools including users and roles, snapshots, data annotations, and more.
Grafana's source, written largely in Go and TypeScript, can be found on GitHub under an Apache 2 license.
Stashboard is a slightly different kind of dashboard than some of the others we looked at. It was designed to provide you with information about cloud services and APIs, for those quickly wanting to learn whether a particular service is up or down. Originally created at Twilio for their phone service applications, Stashboard can be applied to pretty much any type of service and is designed to be run easily as an independent application so that it can display the status of your project even if the main site goes down.
Stashboard's Python-based source is available on GitHub under an MIT license.
These are far from the only options. There are many others to choose from, and there are many data visualization libraries and templating tools out there that might help you roll your own. What open source tools are you using to create dashboards, and what do you like about your tool of choice? Let us know in the comments below.