Efficent way to replicate panel in all dashboards

Hi Team,

After setting up five dashboards and including the same panel in each of them, I proceeded to adjust the panel configuration and saved it in one dashboard. Is there a way to synchronize these changes across the remaining four dashboards?

1 Like

Welcome @asuwini – Yes, there is, but it typically requires as-code tooling.

If you go into any dashboard, you can get the JSON for that dashboard. That JSON will include an array of panels, one of which is the panel that you want to replicate.

When big grafana instances want to keep their dashboards in sync, what they typically do is put the JSON from all of those dashboards into a single git repository, and then use the Grafana terraform provider to provision those dashboards. In this way, you can make edits to JSON in github, commit, and then have (for example) a github action deploy all of your dashboards.

People also do this to keep environments replicated between dev/test/prod, for example.

This does require setting up a repo and learning the terraform bits though. Unfortunately there isn’t a way to do it straight in the UI, other than perhaps – you could go into the JSON description of each dashboard, and then copy the JSON bit that represented the panel you wanted to replicate, and then paste/save in the other dashboards. Faster than the visual editor if you have lots of settings, but perhaps not as reliable.

2 Likes

Thank you for your prompt response davidallen5

what about library panels? If they are linked (added to the dashboards from the library, not manually re-created) you can update all of them - there is even a prompt if you want to update the panel locally or in the library.

@walle I tried with library panels and linked with other dashboards. But the changes of the main panel are not replicated to the other dashboard.