jaegertracing / jaeger

CNCF Jaeger, a Distributed Tracing Platform
https://www.jaegertracing.io/
Apache License 2.0
20.18k stars 2.4k forks source link

[Feature]: Update Grafana dashboard to use time-series panels #5833

Open rorynickolls-skyral opened 1 month ago

rorynickolls-skyral commented 1 month ago

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:

image

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

yurishkuro commented 1 month ago

Does grafana provide any tools for validating dashboards?

rorynickolls-skyral commented 1 month ago

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.