Dashboards can be a very efficient communication tool for a team, between managers and business units. It enables an organization around a vision to share common goals. It can also be useful to identify weaknesses in processes and adapt your strategy according to them.

It exists a plethora of dashboard solutions, on-premise, SAAS, free , affordable and expensive ones.

To help me into the research of an open-source solution to integrate my own personal project, I did a small study of the available open-source dashboard solutions and defined some criterion.

How to choose my dashboard solution ?

  • open-source : since my project is also open-source, I want to provide both open-source and vendor integration. To begin with, I want to elaborate first the open-source integration.

  • Data storage : some dashboard solutions are providing their own embedded storage. Your time series are keep and you can control your history. At the opposite storage-less dashboards are using the concept of datasource. A datasource is a script or a component that will contact a remote resource to obtain the required information to be displayed into your dashboard. Therefore you are responsible to provide the exact information for the widget. Is it a chart or a table ? You will have to produce several resources to be consumed.

  • Container : in 2017 no one want to painstakingly install a solution before using it. Therefore I will pay attention to the availability of a Docker image/compose to setup a demo installation on my workstation.

  • Dashboard composition : Dashboard composition is how to create your dashboard, placing your widgets and defining colours and labels… I will identify whether the dashboard solution is offering a GUI/WYSIWYG to compose your dashboard using widgets or configuration files or worse to have to modify HTML/CSS.

  • Ergonomy/Eye candy : obviously a dashboard is a tool but attractiveness may help to relay a message :-)

  • Data manipulation, aggregation, correlation : Some dashboard solutions have what I would call a “data post-treatment” that allow you to aggregate your values before displaying them? Useful if you want to display the same data aggregated per month, week, day without having to recode your resource.

  • Technology : if I want to perform some customization to the open-source project, is it a well-known technology ?

  • Usage : some dashboard solutions are optimized for certain usages or may be too overkill to implement my DevOps dashboards.

Data storage or data sources ?

The schema is representing how to use a dashboard with a embedded data storage.

Datastore embedded solution

In this kind of solution, the dashboard solution is usually offering an API to store your time series and other metrics internally. The solution includes its own way to store your data and to retrieve them. I recommend this kind of solution if you want to keep track of your own history. Indeed, your data sources may not preserve your information long enough depending of your needs. If the dashboard solution is not offering an API you will have to rely on a batch program or an ETL to convert your data into the expected model.

Datasource + Dashboard solution

Dashboard using the datasource approach usually does not store the displayed data. Each widget is requiring a precise data model. Each time, your dashboard will be displayed, a call will be performed by each widget to obtain the data. Some solutions are providing a cache to avoid too frequent calls to your systems.

This kind of solution is usually simple to use and is providing ready-to-use widgets and integrations.

You will have to pay attention about the diversity and the quality of the data sources and other integrations provided by this kind of solution.

List of open-source free dashboard solutions

Here’s a look at a few open source dashboard tools that you might consider.

Freeboard

Freeboard

Link : Freeboard

Criteria Evaluation
Usage IOT, simple dashboards
Open source yes, github
Data storage Data sources
Datasource availability None, to be implemented
Container technology Contributions
Dashboard composition GUI, Json file
Ergonomy Beautiful, responsive
Technology Javascript
Data manipulation none

Freeboard owns a nice design, a nice GUI to compose your dashboards. However its features are quite limited and you will have to code your data sources, the list is quite limited. Some widgets are also missing as bar charts.

The official project does not offer a docker image though you can find one on the Docker hub.

I recommend this great dashboard if you have a rest service ready to be consumed by Freeboard.

Mozaïk

Mosaïk

Link : Mosaïk

Criteria Evaluation
Usage Software Factory dashboard
Open source yes, github
Data storage Data sources
Datasource availability Many Software Factory widgets
Container technology Contributions
Dashboard composition GUI, Json file
Ergonomy Beautiful, responsive, but inconsistency in widget quality
Technology Javascript, Node.JS
Data manipulation none

Mosaïk is a great new dashboard, specialized in the integration with a software factory. More precisely, if you are a developer, you will be very interested to deploy this solution inside your team to provide basic metrics of your factory.

This solution is using the concept of data sources even though a widget is also a datasource. It means that to add a new widget you will have to produce both the design and the code to obtain the data. It also the developer to customize completely the render and how to obtain the data. However I have noticed some inconsistencies in the UI design.

Mosaïk dashboard has a great UI layout and design and its technologies allow anyone to build a dashboard quickly. The only limits are your ability to produce nice UI widgets and the availability of data sources and rest services to provides the indicators.

Dashbuilder

Dashbuilder

Link : Dashbuilder

Criteria Evaluation
Usage General purpose KPI Dashboards
Open source yes, RED HAT/github
Data storage Data sources
Datasource availability CSV, SQL, Elasticsearch, Static dataset
Container technology Available
Dashboard composition GUI
Ergonomy Looks Oldish
Technology Java, GWT, Custom renderers
Data manipulation yes, Data Filtering

Dashbuilder is a full featured web application which allows non-technical users to visually create business dashboards. Dashboard data can be extracted from heterogeneous sources of information such as JDBC databases or regular text files.

It contains a real big set of features compared to the two previous solutions. KPI, generic widgets, workspace, security, user management, it’s really a dashboard solution to help an organization to produce many different dashboards with a unique software.

TO my opinion, it’s a great dashboard solution but lacking of integration possibilities to REST/SOAP systems.

Grafana

Grafana

Link : Grafana

Criteria Evaluation
Usage Generic purpose dashboard, requires developers
Open source yes, github
Data storage 25 Data sources
Datasource availability Graphite, Elasticsearch, Prometheus, InfluxDB, OpenTSDB, KairosDB, Cloudwatch
Container technology Available
Dashboard composition GUI, Several dashboard templates
Ergonomy Beautiful, Themes
Technology GO, C, Javascript
Data manipulation Data filtering, data sorting

Grafana is an open source, feature rich metrics dashboard and graph editor for Graphite, Elasticsearch, OpenTSDB, Prometheus and InfluxDB.

Grafana is a great solution to produce dashboard. They offer a large set of dashboard templates ready to use.
They integrate to several databases allowing business to use their own systems efficiently.

Dashing

Dashing

Link : Dashing

Criteria Evaluation
Usage Simple Dashboards
Open source yes, github
Data storage Embedded JS/Ruby
Datasource availability None
Container technology Available
Dashboard composition JS file
Ergonomy Beautiful, responsive, but inconsistency in widget quality
Technology Ruby, Sinatra
Data manipulation none

This project is no longer maintained although the dashboard is beautiful.

Dashboards by Keen IO

Keen dashboard

Link : Dashboard by Keen IO

Criteria Evaluation
Usage Event Data Dashboard
Open source yes, github
Data storage Data sources
Datasource availability KeenIO
Container technology Available
Dashboard composition HTML
Ergonomy Bootstrap theme, responsive
Technology HTML ,Javascript, Bootstrap
Data manipulation none

The dashboard is really nice, you compose them writing html/javascript files. The only downside, you have to push your data measures into the Keen database at it seems to be.

Keen IO is an alternative to your in-house analytics database. You send them events from your mobile app, website, billing system, or backend servers, all the data that’s too big to store in your application database. More information in this really interesting interview on Stackshare.

Docker link

Blessed-contrib

Blessed-contrib image

Link : Blessed-contrib dashboard

Criteria Evaluation
Usage Linux command-line dashboard
Open source yes, github
Data storage Data sources
Datasource availability Static dataset
Container technology Available/Unstable
Dashboard composition Json file
Ergonomy ASCII!!
Technology Javascript
Data manipulation none

A really funny and interesting idea : how to produce a lightweight Dashboard in the linux console ? Contrary to my first impressions, it has not been written in PERL or C :-) but in Node.JS Your dashboard will be produced in javascript and you will have to write your own data sources by using the possibility of Node.JS libraries.

I don’t know if there are many use-cases but the idea is funny and the stack easy-to-use.

Metabase

Metabase

Link : Metabase

Criteria Evaluation
Usage General purpose KPI Dashboards
Open source yes, github
Data storage Data sources + Internal storage
Datasource availability CSV, SQL, Elasticsearch, Static dataset
Container technology Docker, AWS, Heroku
Dashboard composition GUI, Json file
Ergonomy responsive, modern look
Technology Java, Javascript
Data manipulation yes

This project is both a data query language, a Dashboard UI. It has been designed to simplify the data extraction from various databases by non-technical users. Metabase is an open source business intelligence tool. It lets you ask questions about your data and displays answers in formats that make sense, whether that’s a bar graph or a detailed table.

Since this solution is specialized, I won’t recommend it to create your own dashboard unless you need a ready-to-use product.

Re:Dash

Redash

Link : Redash

Criteria Evaluation
Usage General purpose KPI Dashboards
Open source yes, github
Data storage Several Data sources + Internal storage
Datasource availability CSV, SQL, Elasticsearch, Static dataset
Container technology Available
Dashboard composition GUI, Json file
Ergonomy Beautiful, responsive, but inconsistency in widget quality
Technology Python, Javascript
Data manipulation none

Re:dash is both an Saas solution and available as an opensource self hosted solution. Depending of your needs, you can choose the right solution for you. ReDash provides a useful collections of data sources : PostgreSQL / Redshift / Greenplum, MySQL, Google BigQuery, Graphite, MongoDB, ElasticSearch, InfluxDB, Presto and many others.

Redash

Re:dash is querying in their natural languages, the data sources, storing the information into a cache (Redis) before displaying your dashboards. The solution also provides some useful features as social sharing for your dashboards and pictures. The solution looks really powerful and promising.

Obviously, there are still plenty of solutions and for the sake of completeness, I have to list :

EON

EON

Link : EON Dashboard

Helical Insight

Helical Insight

Link : Helical Insight

Helical Insight is world’s first Open Source Business Intelligence framework which can help you derive insights out of your one or multiple datasources. Helical Insight is having all the features which you generally expect out of any BI tool (be it open source or proprietary). Being a framework, Helical Insight is highly extensible via APIs and SDK, thus features can be extended whenever required without compromising on your business requirement.

Pentaho

Pentaho

Link : Pentaho

Pentaho is a famous solution covering many functionalities (Business Intelligence, OLAP, Dashboarding, BigData). The editor is also providing a dashboard solution.

References

If you are interested by that subject, I recommend you to read the following articles :