Open rorynickolls-skyral opened 3 months ago
Does grafana provide any tools for validating dashboards?
Best I can find is this: https://github.com/grafana/detect-angular-dashboards, which runs against a live Grafana instance to discover dashboards with this issue.
And this: https://github.com/grafana/dashboard-linter for linting the dashboard JSON.
Example output on dashboard-for-grafana.json
:
❯ dashboard-linter lint monitoring/jaeger-mixin/dashboard-for-grafana.json
Checks that each panel uses the templated datasource.
Checks that each panel has at least one target.
Checks that each panel has a title and description.
[❌] Dashboard 'Jaeger', panel 'span creation rate' has missing title or description, currently has title 'span creation rate' and description: ''
[❌] Dashboard 'Jaeger', panel '% spans dropped' has missing title or description, currently has title '% spans dropped' and description: ''
[❌] Dashboard 'Jaeger', panel 'batch ingest rate' has missing title or description, currently has title 'batch ingest rate' and description: ''
[❌] Dashboard 'Jaeger', panel '% batches dropped' has missing title or description, currently has title '% batches dropped' and description: ''
... etc
It doesn't look like it supports detecting this Angular issue yet though.
Requirement
As a user and operator of Jaeger, I want up-to-date Grafana dashboards so that they can work on newer versions
Problem
The graph panels used by the Grafana dashboard supplied in https://github.com/jaegertracing/jaeger/tree/main/monitoring/jaeger-mixin are using a legacy version which, on newer versions of Grafana, displays this warning:
The next version of Grafana, 12, will remove Angular support by default and these panels will stop working. Grafana Cloud will have no option to turn that support on.
https://grafana.com/docs/grafana/latest/developers/angular_deprecation/#angular-support-deprecation
Proposal
The panels in the dashboard need to be updated to a newer type.
They currently all use 'Graph (Old)' and just switching them to time-series appears to work fine.
Open questions
No response