331 karma · joined November 30, 2017
My process is 1. identify services that benefit from a generated dashboard (a service that I am running hundreds of instances of, for instance) 2. create the first dashboard by manually 3. export the dashboard to JSON and turn it into a jinja2 template 4. use ansible to access the cloud provider api to get whatever metadata I need to populate the now templated dashboard 5. store the updated dashboard as code and also push it to Grafana via API with Ansible
This is all automated and you can skip all the way to step 4/5 if you plumb this to your service build/delivery automation.
Similarly, if the service is updated, it also generates a dashboard and updates the previous one (this is easy because the update is an UPSERT). You can do interesting things like modularize pieces of the dashboard and update those modules independently. They can then get pulled into the Jinja template during the update.
too few users to even be considered, in my opinion