monitoring folder from the fluxcd/flux2 GitHub repo and deploy a PodMonitor CRD and Grafana dashboards via Flux Kustomizations.
1. Explore the monitoring directory
Clone or browse the Flux repository and locate themonitoring folder:

monitoring/ you’ll find:
- PodMonitor YAML for scraping all Flux controllers.
- A
dashboards/folder with two Grafana JSON files:cluster.jsoncontrolplane.json

2. Apply the Flux PodMonitor
ThePodMonitor CRD instructs Prometheus to scrape metrics from Flux controllers in the flux-system namespace:
Ensure the Prometheus Operator and its CRDs (including
PodMonitor) are installed (for example via the kube-prometheus-stack).3. Create a Flux Kustomization
Automate the deployment by defining a FluxKustomization that points to your Git source:
4. Validate in Prometheus
Open your Prometheus UI and go to Status → Targets. Within seconds, the Flux controller endpoints should appear asUP:

Common gotk_ Queries
Run any query in Graph view to see real-time metrics:


5. Explore Grafana Dashboards
After Flux applies the dashboard JSON, refresh Grafana. Two dashboards are now available:- Flux Control Plane
- Flux Cluster Stats
Flux Control Plane
Tracks each controller’s queue lengths, CPU/memory usage, API request rates, and reconciliation durations:

Flux Cluster Stats
Provides cluster-wide health: counts of reconcilers, failing controllers, manifest source statuses, operation durations, and readiness tables:
