I currently use Grafana to view how all sorts of stuff changes over time. It gets the job done, but is far from ideal:
- edititng the data queries is intended to only be done in the web ui (so I end up just copypasting stuff to/from pycharm to at least have a nice text editor)
- can’t store config in a git repo (yes, I can dump & restore the config as a huge json, but AFAIK the json structure is considered an internal api, so it can change at any time making versioning useless)
- all plot parameters other than the data query have to be configured via gui
I did try grafanalib
some time ago and it didn’t feel right. It was quite behind in plot types (Grafana screamed at me “don’t use this plot type, use the new one instead”), and is using unofficial api (the json config again).
Any suggestions? It doesn’t even have to be a ready-to-use tool, a library/framework for making dashboards will also do.
You can configure grafana without gui. That explain in https://grafana.com/docs/grafana/latest/administration/provisioning/
To be precise, the page how to configure some things and how to upload the config. I also tried that.
The problem is in the dashboard jsons. They are not well documented (docs on specific plots are missing), and are a pain to edit (as any json). The
grafanalib
tool I mentioned tries to help with that by implementing a sort of DSL for dashboards, but it is not ideal.You can create graph on the UI and then export to json. To be honest, it’s hard for me to imagine a situation where graphs need to be edited so often. After all, there are excellent template engines in Grafana itself. For quick look anyone can use Explore panel. Maybe I don’t have so much data…
that’s something I want to avoid
the whole system is under development (trying new views, changing how the data is represented, etc), so I don’t need to imagine it, I have it right in front of me ;)