Grafana: How to embedded other dashboards into one dashboard so that the one dashboard shows others' contents in place?

Created on 1 Sep 2015  ·  25Comments  ·  Source: grafana/grafana

Say I have a cpu1-dashboard and a cpu2-dashboard, how can I create a "cpu-all-dashboard" that combine cpu1 and cpu2 dashboards without copy-paste the 2 dashboards into the "all" dashboard?

Thanks!

typquestion

Most helpful comment

This would be very useful for the following use case:

  • System being monitored consists of multiple services.
  • Each service has its own dashboard with panels specific to that service.
  • Generic dashboards for CPU usage, memory usage, disk I/O etc, with a template variable that can be one of the service machines.

Embedding the generic dashboards in the service dashboards, with the template variables set to the respective services, would be great to have.

Without this, you would either have to navigate back and forth, or copy the generic panels to all the service dashboards every time you edit them.

All 25 comments

export both dashboards to json, combine them in a text editor :)

Thanks for the reply.

Yes, of course it can be done like that. But if one dashboard ever changed, I have to do the "export-combine-import" again. What I really want is, embedded one dashboard into another. Just like "Add Panel-> Graph", I can do "Add Panel -> Dashboard" and show another dashboard in place.

Sorry if my title made some misunderstandings, I have changed it to make it more precise to my requirements.

hi @torkelo can you reopen this issue?

@MichaelScofield I am not sure, why would you want this?

@torkelo I have ten cpus to monitor, each cpu generates all kinds of metrics that I want to show them in its own dashboard, cpu1-dashboard, cpu2-dashboard, ...

In the meantime, I also want to have a unique dashboard that shows all the cpus' metrics, so I can see the whole picture.

Right now I have to create all 10 cpus' dashboards, and export them all, combine the jsons in the text editor and then import it. If, say, cpu1 has a special metric to monitor (others don't), I have to repeat the "export-combine-import" again. That's a heavy work for just adding a small graph.

If dashboard can show other dashboards in place, I just have to change the only one dashboard (cpu1 dashboard here), and refresh the unique dashboard that contains all dashboards. That is really easy.

@MichaelScofield but should that not be 3 dashboards? one cpu specific dashboard and one overview dashboard?

@torkelo
I have updated the comment. Yes there're 3 dashboards, and all I want is changing one specific dashboard would not have to change the overview dashboard.

But the overview dashboard would be different now? Containing more overview style graphs?

Yes exactly! The overview dashboard will also be changed according to the specific dashboard! It will contain the new graph that the changed specific dashboard introduced.

what I was saying is that an overview dashboard should not contain other dashboards it should contain overview style graphs. and dashboard links to the more specific dashboards.

making overview dashboards by embedding other dashboards does not make sense, just make one big dashboard with collapsed rows in that case.

Yes... that big dashboard with collapsed rows embedded with other dashboards is just what I need. ;-)

Is there a way to achieve that big overview dashboard?

yes, using rows and collapse them. you wont need embedding other dashboards in this case, you can just have one big dashboard since your overview dashboard is not really an overview dashboard but a dashboard with other dashboards. So you can just skip the whole thing and create one big dashboard in that case :)

That's what I'm doing now, thanks for all these replies and your patience!

np, sorry for being problematic, just trying to understand your use case. I think I will keep this closed as I think this can be solved in other ways.

This would be very useful for the following use case:

  • System being monitored consists of multiple services.
  • Each service has its own dashboard with panels specific to that service.
  • Generic dashboards for CPU usage, memory usage, disk I/O etc, with a template variable that can be one of the service machines.

Embedding the generic dashboards in the service dashboards, with the template variables set to the respective services, would be great to have.

Without this, you would either have to navigate back and forth, or copy the generic panels to all the service dashboards every time you edit them.

I'd have to agree with @rightfold. This could be a very nice feature. Someone could create a generic dashboard and others could imbed it in their dashboard with certain template fields different between each user.

My example is a Hystrix dashboard that shows bad requests, errors, exceptions, good calls, etc. I created a dashboard with templates so that different services could use the same dashboard. I could create links to the dashboard, but then I have to click on a link to display. This is fine for now, but I am just asking you to reconsider.

We have a wiki in front of Grafana that combines multiple dashboards in one single wiki page using frames. That allow us to have generic AWS/SQS and AWS/DynamoDB dashboards that receives the required parameters in the URL. Also, we use generic dashboards to monitor load balancers and host fleets for each service without having to repeat the dashboards again and again.

Any update on this? we are using kubernetes and deploy a dashboard per microservice - but i want to combine them to one big dashboard - if it could be dynamic - it would be even better (meaning - loop over existing dashboards and combine them)

Still looking for this feature, for high-level dashboards (think enterprise) to not have to update code every time one of the lower level dashboards changes its panel config. Any updates?

I tried this a while ago... may be relevant:
https://github.com/grafana/grafana/pull/15620

Link maybe satisfy this feature.

image

image

Click the button will jump to anohter dashboard.

Or we can use variable feature.

image

image

This is a very important feature, which can be used in different scenario.

_For instance_
You have 3 different panels and you want to create 4 dashboards with different combinations as
Dashboard #1 : Panel #1 + Panel #2
Dashboard #2 : Panel #2 + Panel #3
Dashboard #3 : Panel #3 + Panel #1
Dashboard #4 : Panel #1 + Panel #2 + Panel #3

Now you wanna play Grafana playlist on a Kiosk/TV. So you can't use link.

Current way:
Create 4 new dashboard and create new panels for each dashboard.

Issue:
If you wanna change something for Panel #2.. You will have to update Dashboard #1, #2 and #4. That is not user friendly at all, beacause you are gonna end up with more than 20 dashboard if you are gonna monitor a medium size system.

What would be awesome:

  1. Option to create and name panels.
  2. Creating dashboard with new panels or you can import above created panels using names.
  3. On run time, dashboard will get the updated content from panels.
  4. If you wanna change panel #2, then you don't need to change in any dashboard at all.

Now all will be HAPPY...

If you ask me, this feature was expected by default.

I am not sure if comments on closed thread are checked, may be we want to reopen this issue or create a new one with details mentioned by @prashant1rana

Was this page helpful?
0 / 5 - 0 ratings

Related issues

victorhooi picture victorhooi  ·  3Comments

utkarshcmu picture utkarshcmu  ·  3Comments

Minims picture Minims  ·  3Comments

ricardclau picture ricardclau  ·  3Comments

SATHVIKRAJU picture SATHVIKRAJU  ·  3Comments