Fully reproducible Grafana dashboards with Grafonnet

Grafana is an Open Source tool to generate monitoring dashboards. However, representing data is a complicated exercise. As our list of Grafana dashboards was increasing, we decided to treat them as we do with other pieces of infrastructure: as code.

Together with Malcolm Holmes (Software engineer at Grafana Labs), Julien presented Grafonnet at FOSDEM. Julien and Malcolm share a passion for Jsonnet, a language to generate JSON files, just like Grafana dashboards.

Treating dashboards like any other piece of software grants you abilities as version control, testing, reviews, and rollbacks. It also empowers multiple teams to work on the same base for their Grafana dashboards.

By creating reusable panels or shared color overrides, you get consistency across dashboards. Recognizable patterns are important if you want everyone to read the same information from a dashboard. Meaning you don’t need to study every new dashboard to understand it correctly.

This 25-minute presentation gives a tour of the challenges that Jsonnet and Grafonnet address, and ends up with practical examples and a live demo.