A Dashboard 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 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 criteria.
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 on the open-source integration.
- Data storage: some dashboard solutions are providing their own embedded storage. Your time series keep and you can control your history. On the opposite storage-less dashboards are using the concept of data sources. A data source is a script or a component that will contact a remote resource to obtain the required information to be displayed in 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 wants to painstakingly install a solution before using it. Therefore I will pay attention to the availability of a Docker image/compose to set up a demo installation on my workstation.
- Dashboard composition: Dashboard composition is how to create your dashboard, placing your widgets, and defining colors 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 allows you to aggregate your values before displaying them? Useful if you want to display the same data aggregated per month, week, a 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 maybe too overkill to implement my DevOps dashboards.
Data storage or data sources?
The schema is representing how to use a dashboard with an 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 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 on 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.
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 to 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
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
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
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 that 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 unique software.
TO my opinion, it’s a great dashboard solution but lacking integration possibilities to REST/SOAP systems.
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 a dashboard. They offer a large set of dashboard templates ready to use. They integrate into several databases allowing business to use their own systems efficiently.
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
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 |
{% endtable %}
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.
Blessed-contrib
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
Link: Metabase
{% table table-striped %}
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 |
{% endtable %}
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
Link: Redash
{% table table-striped %}
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 |
{% endtable %}
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.
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
Link: EON Dashboard
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
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 :
- 5 open source dashboard tools for visualizing data
- Six open source dashboard
- A curated dashboard list