Import example Grafana dashboards to visualize Red Hat Edge Manager API and fleet metrics.
Before you begin
- Grafana is deployed and configured with the Prometheus data source.
About this task
You can import example Grafana dashboards maintained in the contrib/grafana-dashboards/ directory of the Flight Control GitHub repository.
Procedure
-
Download the dashboard JSON files and create
ConfigMap objects:
$ curl -sLO https://raw.githubusercontent.com/flightctl/flightctl/main/contrib/grafana-dashboards/flightctl-api-dashboard.json
$ curl -sLO https://raw.githubusercontent.com/flightctl/flightctl/main/contrib/grafana-dashboards/flightctl-fleet-dashboard.json
$ oc create configmap flightctl-api-dashboard \
--from-file=flightctl-api-dashboard.json \
-n <project_name>
$ oc create configmap flightctl-fleet-dashboard \
--from-file=flightctl-fleet-dashboard.json \
-n <project_name>
-
Create
GrafanaDashboard resources:
$ oc create -f - <<EOF
apiVersion: grafana.integreatly.org/v1beta1
kind: GrafanaDashboard
metadata:
name: flightctl-api-dashboard
namespace: <project_name>
spec:
instanceSelector:
matchLabels:
dashboards: flightctl
configMapRef:
name: flightctl-api-dashboard
key: flightctl-api-dashboard.json
---
apiVersion: grafana.integreatly.org/v1beta1
kind: GrafanaDashboard
metadata:
name: flightctl-fleet-dashboard
namespace: <project_name>
spec:
instanceSelector:
matchLabels:
dashboards: flightctl
configMapRef:
name: flightctl-fleet-dashboard
key: flightctl-fleet-dashboard.json
EOF
-
Wait until the dashboards are synchronized:
$ oc wait --for=condition=Synchronized \
grafanadashboard/flightctl-api-dashboard \
grafanadashboard/flightctl-fleet-dashboard \
-n <project_name> --timeout=60s
Results
In the Grafana UI, open Dashboards. You should see dashboards for the Red Hat Edge Manager API (API server, database, and agent connectivity metrics) and for fleet health, rollout status, and application metrics. Dashboard titles match the imported JSON definitions.