first things first: Thanks for doing the paramount job of conceiving and maintaining Grafana. Keep up the spirit!
While being avid Grafana users at http://community.hiveeyes.org/ for a while already, we are finally happy to be able to contribute something back to the community.
It’s just a tiny piece of software but helps us to stay sane while keeping track of the growing number of data sources and dashboards our Grafana instances automagically have been starting to sprout.
We just added the "grafana-wtf log" subcommand to display the list of edits (versions), either for a given dashboard by uid or aggregated across all dashboards.
# Display 50 most recent changes across all dashboards.
grafana-wtf log --number=50
# Display 5 most recent changes for specific dashboard.
grafana-wtf log NP0wTOtmk --number=5
# Output full history table in Markdown format
grafana-wtf log --format=tabular:pipe
# Output full history table in Grid format
grafana-wtf log --format=tabular:grid
With kind regards,
Andreas.
P.S.: We also added a short description about the tool on our forum outlining some specific options you might enjoy.
grafana-wtf version 0.10.0 has been released and published just yesterday, mitigating some problems with the "replace" subcommand when replacing strings within dashboards and with ANSI escape codes when redirecting the output into other programs or files.
We also have been able to integrate a contribution by @cronosnull, unlocking tabular output for the "find" subcommand, thank you very much.
Thanks a stack for all bug reports and patches. Enjoy!
With kind regards,
Andreas.
P.S.: The program can be installed from PyPI: pip install grafana-wtf --upgrade.
grafana-wtf version 0.12.0 has just been released. The program is now also available as a container image, which might make its installation more effortless. Also, people running software solely in container environments might like it as well.
Synopsis
docker run --rm -it ghcr.io/panodata/grafana-wtf grafana-wtf --version
grafana-wtf 0.12.0
Full incantations will look like:
# Access Grafana instance on your workstation, without authentication.
docker run --rm -it --env GRAFANA_URL="http://host.docker.internal:3000" ghcr.io/panodata/grafana-wtf grafana-wtf log
# Access Grafana instance with authentication.
docker run --rm -it --env GRAFANA_URL="http://host.docker.internal:3000" --env GRAFANA_TOKEN="eyJrIjoiWHg...dGJpZCI6MX0=" ghcr.io/panodata/grafana-wtf grafana-wtf log