icingaweb2-module-grafana icon indicating copy to clipboard operation
icingaweb2-module-grafana copied to clipboard

Feature Request: Allow including entire dashboards without panel id

Open LordHepipud opened this issue 2 years ago • 2 comments

I'm currently working on creating default Grafana Dashboards and views for Icinga for Windows. At the moment I'm running into a limitation of the module. By default, you require to specify a Dashboard UID and PanelId(s). While this works in some cases, it makes rendering certain views impossible.

For example I'm creating default views for Network Interfaces. The plugin returns plenty of performance metrics, and the number variates depending on the environment. Now you can't use repeating panels for this, because then every single graph would be tried to rendered.

Grafana_Repeat_Render_IW2

Now the other idea was to prepare a default view directly in Grafana, which works fine and can be adjusted by variabales, but the dashboard can not entirely be included, because you always have to set the PanelId(s). For static content this works fine, but not for dynamic views lile Network Interfaces, because there can be a different amount on different systems.

Expected Behavior

It would be great to have the option to include an entire Dashboard UID without defining panels. By using the variable configuration, the view can be configured during the call and the Grafana module is simply loading the entire dashboard as configured.

Grafana_Network_Interfaces_View

Current Behavior

Icinga Web Grafana views always require to set a PanelId(s), which makes it impossible to handle certain use cases.

Possible Solution

Add the possibility to include Dashboard UID for loading the entire dashboard as defined in Grafana without specifiying the PanelId(s) and load the entire view as designed in Grafana with repeating panels and repeating rows

Steps to Reproduce (for bugs)

  1. Use a check plugin with multiple different main sources like interfaces
  2. Create repeating panels/rows for each interface available
  3. Add certain metrics to being rendered, but only certain values instead of everything
  4. Grafana Web module will try to render each Graph and cause the browser tab to almost die

Context

Creating default views and dashboards for Icinga for Windows to use them inside Grafana and display certain things in Icinga Web.

Your Environment

  • Icinga Web 2 Grafana version (System - About): 1.4.3
  • Icinga Web 2 version and modules (System - About): 2.11.1
  • Version used (icinga2 --version): 2.13.4
  • Operating System and version: CentOS 7

LordHepipud avatar Aug 18 '22 07:08 LordHepipud

Grafana doesnt support "render dashboard", only panels :( A lot of people asked for that feature many time, but no solution until yet, beside some crude hacks for FireFox etc. The only solution i made was to configure a coma seperated list of panels to show in icingaweb2.

Tipp: you can use left 6 right y-axis with different units or the same unit.

Mikesch-mp avatar Aug 18 '22 11:08 Mikesch-mp

Seems to be the only suitable workaround then. I didn't want to use this approach because it would make the graph itself very crowded, depending on how many interfaces you have as example.

I will think about this and see what I can do about this. Thanks for the quick reply!

LordHepipud avatar Aug 18 '22 12:08 LordHepipud