Hi – we’re trying to formalize our usage of Grafana, and one of the initial hurdles we see is how to allow dashboards to be easily edited by non-Grafana experts, and managed in source control.
I have looked through Github and google, and found that there are two approaches:
- Make your dashboard using the grafana UI, save the json and merge that into git.
- Build a dashboard generator around your specific needs.
I have found dozens of projects that went the way of #1, and no less than 6 projects that have implemented #2. I noticed that there are at least 2 presentations at upcoming Grafanacon on the topic of dashboards as code, so I know that there is a definite need for this capability. But what seems to be missing is any consolidation on this topic.
We have some basic requirements, in that it should tie into new Provisioning feature, and that it should work well with podified Grafana running on Kubernetes.
As we’re new to Grafana, we’re probably asking a question that doesn’t have an easy answer. As a new user, which one of these solutions should we adopt? We have done some basic research into each, and found that they all have positives and negatives, and they all will need some extension for our needs.
What I think we want to avoid (or at least as last resort) is building Yet Another YAML Dashboard Generator.
There are several projects for managing dashboards in a friendly format for Grafana.
GrafanaLib from WeaveWorks: https://github.com/weaveworks/grafanalib
Grafonnet-Lib from Grafana: https://github.com/grafana/grafonnet-lib
GrafYAML from Red Hat’s OpenStack team: https://docs.openstack.org/infra/grafyaml/
grafana-dash-gen from Uber: https://github.com/uber/grafana-dash-gen
Grafana Dashboards Generator https://github.com/Showmax/grafana-dashboards-generator
So my question is: do we expect any consolidation on this front? Are people interested in trying to work in that direction?