Skip to content

Grafana Dashboard Improvements Design

Date: 2026-01-11 Issue: selfhosted-cluster-78q Status: Approved

  1. Operational visibility - At-a-glance health of all services
  2. Troubleshooting support - Deep-dive dashboards for debugging
  3. Consistency - Unified provisioning method and organization
Decision Choice
Folder organization By layer (Infrastructure, Platform, Applications, Kubernetes, Logs)
Dashboard sources Grafana.com with pinned revisions; GitHub for project-maintained dashboards
Provisioning method GrafanaDashboard CRD (migrate Velero from ConfigMap)
Directory rename system-dashboards/service-ingresses/
Service Source Dashboard ID/URL Folder
Alloy GitHub grafana/alloy repo Infrastructure
Longhorn Grafana.com ID 16888 rev 9 Infrastructure
Traefik Grafana.com ID 17346 rev 10 Infrastructure
CNPG/PostgreSQL GitHub cloudnative-pg/grafana-dashboards Platform
Vault Grafana.com ID 12904 rev 2 Platform
MetalLB Grafana.com ID 14127 rev 1 Infrastructure
Current Dashboard Action
Velero (ConfigMap) Replace with Grafana.com ID 11055 rev 2 → Applications
ArgoCD Move to Applications folder
NATS Move to Platform folder
Kubernetes Overview Move to Kubernetes folder (rename to api-server)
Loki Logs Move to Logs folder
Node Exporter Move from monitoring-prometheus/ to Infrastructure
Cert-Manager Move from cert-manager-config/ to Platform
Temporal (Terraform) Update folder to “Applications”
argocd/app-configs/grafana/dashboards/
├── kustomization.yaml
├── infrastructure/
│ ├── alloy.yaml
│ ├── longhorn.yaml
│ ├── traefik.yaml
│ ├── metallb.yaml
│ └── node-exporter.yaml
├── platform/
│ ├── cnpg.yaml
│ ├── nats.yaml
│ ├── vault.yaml
│ └── cert-manager.yaml
├── applications/
│ ├── argocd.yaml
│ └── velero.yaml
├── kubernetes/
│ └── api-server.yaml
└── logs/
└── loki-overview.yaml
apiVersion: grafana.integreatly.org/v1beta1
kind: GrafanaDashboard
metadata:
name: <service-name>
namespace: grafana
labels:
grafana.integreatly.org/instance: grafana
spec:
instanceSelector:
matchLabels:
dashboards: grafana
folder: <Infrastructure|Platform|Applications|Kubernetes|Logs>
url: https://grafana.com/api/dashboards/<ID>/revisions/<REV>/download

For GitHub-sourced dashboards:

url: https://raw.githubusercontent.com/<org>/<repo>/<ref>/<path>.json
  1. Delete argocd/app-configs/velero/monitoring/grafana-dashboard.yaml
  2. Rename argocd/app-configs/system-dashboards/argocd/app-configs/service-ingresses/
  3. Update references in cluster-app if needed
  • Authentik dashboard (limited metrics available)
  • Additional alert rules (separate effort)