Use Grafonnet for dashboards - reducing extension & maintenance
The Grafonnet project by Grafana is a jsonnet library for creating dashboards as code.
Using this library will:
- reduce effort to update/modify dashboards - sane defaults, important keys only
- reduce effort to code review dashboards - less noise
- enable use of standards for layout, panel presentation
- enable sharing of dashboard rows and panels across services, eg: Machine Metrics (jvm, cpu/mem/disk/net), controller invocations, resilience4j, etc.
- require casual users of the dashboards to download the json from a published GitLab Release (zip).
Prior art:
- https://github.com/grafana/grafonnet-lib/tree/master/examples
- https://gitlab.com/gitlab-com/runbooks/-/tree/master/dashboards
- https://github.com/kubernetes-monitoring/kubernetes-mixin
Alternatives:
- the Grafonnet 7.0 revision was not chosen because it is incomplete by comparison and work upstream is underway.
We're in the process of introducing generated code that can be used instead of the manually maintained Jsonnet code in the grafonnet directory. The generated code lives in grafonnet-7.0. It's generated from a new project, grafana/dashboard-spec.
Edited by Ghost User