How can I search for a dashboard by content (e.g. name of panel, used metric, used function)

Hi all,

in short terms: Can we easily find a dashboard by any kind of string used in the dashboard?

Now the long description of my question:
We created many dashboards and panels for our Graphite data source.
Sometimes it’s very hard to find the dashboard or even the panel which shows the information for a specific metric or graph. Often we remember the name of the panel or even the name of something we used to create a graph - the name of a used metric or a function which we used in the editor.
It would be very helpful if we could do two things:

  • find a dasboard by the name of a panel contained in the dashboard
  • find a dashboard or even a panel by the name of the metric or function name or an alias name or in general any string we used in the editor

At the moment we are thinking about using the API + jq (cmdline tool to pretty print JSON) and grep for this information.
With /api/search we can find the internal dashboard-uri of all dashboards.
With /api/dashboards/dashboard-uri we can get all panel names and formulas.

But perhaps this kind of search already exists in some way. Cause the more graphs someone creates the harder it is to find the dashboard containing this graph.

Hope that anybody can give me a hint.

Thanks a lot in advance.

Best regards, Uwe

2 Likes

No. It would be a great feature to add but it is not on the core team’s short-term backlog. So I think the only alternative a the moment, is what you are planning to do.

If you can access grafana’s internal database store (mysql/sqlite/postgres) you can consider using sql queries to dashboard table.
data field is of particular interest as it holds complete json object of dashboard.
I haven’t seen documented schema of dashboard store, but you can find some information here Grafana DB schema or explore your DB on server.

Dear Uwe,

we probably experience the same need for taking care of Grafana instances with a growing number of data sources and dashboards after a few years of usage. So, to answer a question like “How to maintain this beast?”, you can now Use "grafana-wtf" to search through all entities of a Grafana instance.

Enjoy:

Details

It probably resembles very much what you have been aiming at:

Yeah, going to the API is the approach grafana-wtf is taking, as this feels most generic and naturally.

Exactly. grafana-wtf currently sifts through all scalar values of all JSON documents for verbatim strings passed on the command line. More fancy kinds of expressions like case-insensitive search or regular expressions can be added with one of the next iterations.

Hope this helps.

With kind regards,
Andreas.

1 Like