Sharing panels between dashboards

Hello,
is there a way to share panels between dashboards?
As an example, I have many dashboards that show various metrics from an application perspective and want to include, say, a CPU and memory graph for the system in question in Application 1 Dashboard. Those same CPU and memory graphs may well be used in Application 2 Dashboard if there is more than one application of interest running on the system.
A change to one of these CPU or memory graphs requires a change in 2 places instead of one, though. Is there any way to link a panel across multiple dashboards? If so, can it be templated (given that the template variables are the same across dashboards)?
I realize that I can easily copy and paste the panel json, but that’s a manual step and doesn’t guarantee I’ll remember to do it in all applicable places.

5 Likes

Agreed. This is a big show stopper for us in adopting Grafana in production.

We have more than hundred of dashboards, many sharing Graphs/Panels - maintaining each graph in every dashboard just does not scale at all.

2 Likes

This can be done simply by opening the JSON Panel from the panel’s dropdown menu. You can work with CSV as well. Anyways, bring up the panel, copy the text, switch to your other dashboard, add a new panel, open the JSON Panel, paste. Modify to suit. Done.

1 Like

Yes, this copies the current version of the dashboard to a new one but does not solve the general problem.

In detail:
If you modify graphs on the original dashboard - the change is never propagated to the other dashboards reusing the same graph.

So even with this manual JSON copy you end up maintaining the same graph over all dashboards that are displaying it.

This is often problem in production where you usually want to reuse a graph on tens of dashboards and want graph edits to propagate to each dashboard without manually going and updating them all one by one.

5 Likes

This would help out my org as well for the same reasons that @ales laid out.

1 Like

We have an issue for this on github https://github.com/grafana/grafana/issues/1959

1 Like

While issue 1959 does address cross dashboard templating, it does not address displaying the same panel across multiple dashboards. (besides the fact that that issue has been open for years)

I have hundreds of panels. Many are accessible on different dasboards (views). If I find I need to correct the structure of the query on a dash, I have to find every place where that dash was copied.

Templates do not solve all problems.

1 Like

As we’re scaling up dashboards, this is starting to become a problem for us as well. Particularly because we use a number of “Text” panels with HTML and Javascript in them. Is there perhaps a different solution, like turning them into a lightweight plugin or such?

1 Like

Hello. We consider to directly update panels in the grafana database, decoding the json.

+1 here
I’d like to share panels accross different dashboards, and thus having alerts triggered only once. Today with copy/pasting the alert configuration is duplicated as well which is not necessary.

+1, it would be a very useful feature

I know this is old, but there’s a partial work around using a plugin. The AJAX Panel Plugin will allow you to display an arbitrary web page in a panel. If you grab the ‘Embed’ link for a given panel under the Share menu, you can embed a Grafana panel inside another one. This works across dashboards, and can support built in and custom template variables (via query parameters in the URL). It’s still too clunky to really be a user facing feature, but it could at least help you eliminate some code/panel duplication

1 Like

It works now, you just have to use More > Copy from the Panel drop down menu.

1 Like

I am facing the same issue.

Hmm, I would like to share a given chart or panel across several different dashboards, without having to edit each one repeatedly to maintain them. Am I missing something, is it possible to do? Thanks!