Skip to content

[Grafana] Migrate dashboards to new React based Dashboards #508

Open

Description

@schmidtsv

Grafana plans to remove the V2 dashboards. Most of it is able to be automated but to prevent having Angular based dashboards that get migrated on each start we should change the way the dashboards work.

In our staging i enabled automatic migrations. As side project I started to clean up dashboards that were auto-migrated, removing/fixing values that are not visualized and "resetting" them to a template. This will take a bit due to the lack of infinite time and manual "visual" inspections so I would welcome any helpers. Furthermore we do not use all dashboards internally so I have no way to verify functionality above "we do not get errors importing them"

To enable the automated migration edit the /var/vcap/jobs/grafana/config/grafana.ini to contain the following:

[feature_toggles]
autoMigrateOldPanels = true

Then export panel json and reset it back to a template for the repo. It will fill out current selections and data sources, which you have to reset.

I will create the first PR for this and plan to finish the bosh panels by end of the week so they can be tested by people that are not me as well.

Activity

  1. added a commit that references this issue on Feb 17, 2025
  2. added a commit that references this issue on Feb 25, 2025
  3. benjaminguttmann-avtq commented on May 8, 2025

    @benjaminguttmann-avtq
    Contributor

    Thanks for your contributions so far, any schedule for the remaining dashboards?

  4. benjaminguttmann-avtq commented on Aug 7, 2025

    @benjaminguttmann-avtq
    Contributor

    @schmidtsv do you have an overview which dashboards are still missing?

  5. schmidtsv commented on Aug 12, 2025

    @schmidtsv
    ContributorAuthor

    Hey Benjamin. Unfortunately not, i just go down the list of dashboards we use. Though I wonder if its possible in tests to use the https://github.com/grafana/detect-angular-dashboards detector from Grafana in a test env with all dashboards present to get a list.

  6. schmidtsv commented on Aug 12, 2025

    @schmidtsv
    ContributorAuthor

    I checked on the ones we run at least and after filtering out our custom dashboards I got the list:

    INFO: 2025/08/12 08:38:04 Detecting Angular dashboard
    INFO: 2025/08/12 08:38:07 Found dashboard with Angular plugins "System Metrics"
    INFO: 2025/08/12 08:38:07 Found dashboard with Angular plugins "CF: Cells Capacity"
    INFO: 2025/08/12 08:38:07 Found dashboard with Angular plugins "CF: Cloud Controller"
    INFO: 2025/08/12 08:38:07 Found dashboard with Angular plugins "CF: BBS"
    INFO: 2025/08/12 08:38:07 Found dashboard with Angular plugins "CF: Cell Summary"
    INFO: 2025/08/12 08:38:07 Found dashboard with Angular plugins "CF: Diego Auctions"
    INFO: 2025/08/12 08:38:07 Found dashboard with Angular plugins "CF: Garden Linux"
    INFO: 2025/08/12 08:38:07 Found dashboard with Angular plugins "CF: Etcd Operations"
    INFO: 2025/08/12 08:38:07 Found dashboard with Angular plugins "CF: Metron Agent"
    INFO: 2025/08/12 08:38:07 Found dashboard with Angular plugins "CF: Doppler Server"
    INFO: 2025/08/12 08:38:07 Found dashboard with Angular plugins "CF: Diego Health"
    INFO: 2025/08/12 08:38:07 Found dashboard with Angular plugins "CF: Etcd"
    INFO: 2025/08/12 08:38:07 Found dashboard with Angular plugins "CF: LRPs & Tasks"
    INFO: 2025/08/12 08:38:07 Found dashboard with Angular plugins "CF: KPIs"
    INFO: 2025/08/12 08:38:07 Found dashboard with Angular plugins "CF: Metron Agent - Doppler"
    INFO: 2025/08/12 08:38:07 Found dashboard with Angular plugins "CF: Organization Memory Quotas"
    INFO: 2025/08/12 08:38:07 Found dashboard with Angular plugins "CF: Services"
    INFO: 2025/08/12 08:38:07 Found dashboard with Angular plugins "CF: Summary"
    INFO: 2025/08/12 08:38:07 Found dashboard with Angular plugins "CF: Router
    INFO: 2025/08/12 08:38:07 Found dashboard with Angular plugins "CF: Organization Summary"
    INFO: 2025/08/12 08:38:07 Found dashboard with Angular plugins "CF: Route Emitter"
    INFO: 2025/08/12 08:38:07 Found dashboard with Angular plugins "CF: UAA"
    INFO: 2025/08/12 08:38:07 Found dashboard with Angular plugins "Concourse: Pipelines"
    INFO: 2025/08/12 08:38:07 Found dashboard with Angular plugins "Concourse: Overview
    INFO: 2025/08/12 08:38:07 Found dashboard with Angular plugins "Consul: Overview"
    INFO: 2025/08/12 08:38:07 Found dashboard with Angular plugins "Grafana: API"
    INFO: 2025/08/12 08:38:07 Found dashboard with Angular plugins "Prometheus: BOSH Exporter"
    INFO: 2025/08/12 08:38:07 Found dashboard with Angular plugins "Grafana: Summary"
    INFO: 2025/08/12 08:38:07 Found dashboard with Angular plugins "HAProxy: Backends"
    INFO: 2025/08/12 08:38:07 Found dashboard with Angular plugins "HAProxy: Servers
    INFO: 2025/08/12 08:38:07 Found dashboard with Angular plugins "HAProxy: Frontends"
    INFO: 2025/08/12 08:38:07 Found dashboard with Angular plugins "CF: Component Metrics
    INFO: 2025/08/12 08:38:07 Found dashboard with Angular plugins "Postgres:  Overview"
    INFO: 2025/08/12 08:38:07 Found dashboard with Angular plugins "Prometheus: Targets"
    INFO: 2025/08/12 08:38:07 Found dashboard with Angular plugins "Prometheus: Storage"
    INFO: 2025/08/12 08:38:07 Found dashboard with Angular plugins "RabbitMQ Metrics"
    INFO: 2025/08/12 08:38:07 Found dashboard with Angular plugins "Prometheus: Cloud Foundry Firehose Exporter"
    INFO: 2025/08/12 08:38:07 Found dashboard with Angular plugins "Prometheus: BOSH TSDB Exporter"
    INFO: 2025/08/12 08:38:07 Found dashboard with Angular plugins "Prometheus: Scrapes & Notifications"
    INFO: 2025/08/12 08:38:07 Found dashboard with Angular plugins "Prometheus: Cloud Foundry Exporter"
    

    We are running the prometheus dashbard jobs of the jobs

      - name: grafana_dashboards
      - name: postgres_dashboards
      - name: prometheus_dashboards
      - name: bosh_dashboards
      - name: consul_dashboards
      - name: cloudfoundry_dashboards
      - name: concourse_dashboards
      - name: haproxy_dashboards
    
  7. benjaminguttmann-avtq commented on Aug 19, 2025

    @benjaminguttmann-avtq
    Contributor

    Created an overview based on your list @schmidtsv . That might help to keep an overview what is done and what is still missing.

    • CF: BBS
    • CF: Cell Summary
    • CF: Cells Capacity
    • CF: Cloud Controller
    • CF: Component Metrics
    • CF: Diego Auctions
    • CF: Diego Health
    • CF: Doppler Server
    • CF: Etcd
    • CF: Etcd Operations
    • CF: Garden Linux
    • CF: KPIs
    • CF: LRPs & Tasks
    • CF: Metron Agent
    • CF: Metron Agent - Doppler
    • CF: Organization Memory Quotas
    • CF: Organization Summary
    • CF: Route Emitter
    • CF: Router
    • CF: Services
    • CF: Summary
    • CF: UAA
    • Concourse: Overview
    • Concourse: Pipelines
    • Consul: Overview
    • Grafana: API
    • Grafana: Summary
    • HAProxy: Backends
    • HAProxy: Frontends
    • HAProxy: Servers
    • Postgres: Overview
    • Prometheus: BOSH Exporter
    • Prometheus: BOSH TSDB Exporter
    • Prometheus: Cloud Foundry Exporter
    • Prometheus: Cloud Foundry Firehose Exporter
    • Prometheus: Scrapes & Notifications
    • Prometheus: Storage
    • Prometheus: Targets
    • RabbitMQ Metrics
    • System Metrics
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions