Skip to content

feat: enhance Grafana dashboard validation rules#297

Merged
ldmonster merged 12 commits intomainfrom
feature/grafana-dashboards
Oct 27, 2025
Merged

feat: enhance Grafana dashboard validation rules#297
ldmonster merged 12 commits intomainfrom
feature/grafana-dashboards

Conversation

@RottenRat
Copy link
Copy Markdown
Contributor

Added new grafana-dashboards linters:

  • Deprecated Panel Types
  • Deprecated Intervals
  • Legacy Alert Rules
  • Datasource Validation
  • Template Variables

Example:

🐒 [grafana (#templates)]
     Message:      Panel 'Incoming Request Duration By Source' uses deprecated type 'graph', consider using
                   'timeseries'
     Module:       istio
     FilePath:     /deckhouse/modules/110-istio/monitoring/grafana-dashboards/istio/service.json

🐒 [grafana (#templates)]
     Message:      Panel 'Incoming Success Rate (non-5xx responses) By Source' uses deprecated type 'graph', consider
                   using 'timeseries'
     Module:       istio
     FilePath:     /deckhouse/modules/110-istio/monitoring/grafana-dashboards/istio/service.json

🐒 [grafana (#templates)]
     Message:      Panel 'Incoming Success Rate (non-5xx responses) By Destination Workload' uses deprecated type
                   'graph', consider using 'timeseries'
     Module:       istio
     FilePath:     /deckhouse/modules/110-istio/monitoring/grafana-dashboards/istio/service.json

🐒 [grafana (#templates)]
     Message:      Panel 'Incoming Request Duration By Service Workload' uses deprecated type 'graph', consider using
                   'timeseries'
     Module:       istio
     FilePath:     /deckhouse/modules/110-istio/monitoring/grafana-dashboards/istio/service.json

Evsyukov Denis and others added 5 commits August 18, 2025 15:55
- Updated gjson version in go.mod and go.sum.
- Added comprehensive validation rules for Grafana dashboards, including checks for deprecated panel types, intervals, legacy alert rules, and datasource validation.
- Introduced tests for the new validation rules to ensure correctness and reliability.
- Removed outdated gjson version 1.14.4.
- Updated to the latest gjson version 1.18.0 for improved functionality and security.
Signed-off-by: Michail Sinelnikov <72449391+RottenRat@users.noreply.github.com>
Signed-off-by: Sinelnikov Michail <mikhail.sinelnikov@flant.com>
Signed-off-by: Sinelnikov Michail <mikhail.sinelnikov@flant.com>
@RottenRat RottenRat self-assigned this Oct 27, 2025
Signed-off-by: Sinelnikov Michail <mikhail.sinelnikov@flant.com>
Signed-off-by: Sinelnikov Michail <mikhail.sinelnikov@flant.com>
Signed-off-by: Sinelnikov Michail <mikhail.sinelnikov@flant.com>
Signed-off-by: Sinelnikov Michail <mikhail.sinelnikov@flant.com>
@RottenRat RottenRat marked this pull request as ready for review October 27, 2025 15:34
@RottenRat RottenRat force-pushed the feature/grafana-dashboards branch from 4b4f224 to bf4f741 Compare October 27, 2025 15:42
Signed-off-by: Sinelnikov Michail <mikhail.sinelnikov@flant.com>
Signed-off-by: Sinelnikov Michail <mikhail.sinelnikov@flant.com>
Signed-off-by: Sinelnikov Michail <mikhail.sinelnikov@flant.com>
@ldmonster ldmonster merged commit 8d3fb77 into main Oct 27, 2025
3 checks passed
@ldmonster ldmonster deleted the feature/grafana-dashboards branch October 27, 2025 15:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants