Open s2156945 opened 1 year ago
How is this different from implementing a business process in Icinga and using the business process status?
The danger here is a summary is the sum of multiple dashboards. To get the overall status of a single dashboard you need to know the state of elements on that dashboard. So this feature would trigger a load of all elements on multiple dashboard at the same time which with the current request model is a extremally high number of API calls to Icinga to render the summary dashboard.
When building a set of monitoring pages it's useful to have a summary page which links to the detail pages, and to summarise the state of the detail page into the card which is used to link to the detail page.
Describe the solution you'd like A simple to use solution would be to able to choose an existing dashboard as an alternative to host/service/filter etc as the "source" for the check. The behaviour would be the same as all the elements on the "detail" dashboard being joined together into a filter, e.g. 'service.name=="host1!service1" || service.name=="host2!service2"'. Ideally this would not be saved as such but would be worked out when the summary dashboard was loaded, i.e. if elements were added to or removed from the child dashboard then the summary dashboard would be automatically updated. It would be nice to have a title for the summary which over-rode or prefixed the status. When general filter features are added then maybe text extraction could be used.
Describe alternatives you've considered When script-generating the detail dashboards we generate the summary dashboard based on the filter, look for a "not going to be found" string in the plugin output and have the default string effectively be the text for the link which shows for all states.
Additional context Bonus feature - if the detail board could have groups of checks (e.g. A path + B path) or have a regex or syntax to achieve the same grouping and have a computed result which makes sense for A path / B path scenarios like: OK - all elements in all groups OK Warning - at least one group is all OK, but there are some problems in some groups Critical - all groups have problems