

- Is the platform healthy?
- Which services have increasing error rates?
- Are we approaching resource limits?

- Grafana → Settings → Data sources → Add data source.
- Select “Prometheus”.
- Set the URL to the in-cluster Prometheus service, for example
http://prometheus:9090. Do not uselocalhostunless Grafana runs on the same host as Prometheus. - Toggle
isDefault(or “Default”) if you want new panels to use this data source automatically. - Click Save & Test.

Make sure the Prometheus URL is reachable from the Grafana pod. If Grafana cannot reach the service, check Kubernetes network policies, the service name, and the service port (Prometheus default is
9090).
Choosing the right panel for the question
Match visualization to intent:
Common PromQL examples
- Status overview (first row)
- Stat panels answering “is everything broken?” — use clear color thresholds.
- Traffic & errors (second row)
- Time series for request rate, error rate, latency; correlate with deployments.
- Resources (third row)
- Gauges and time series for CPU, memory, disk with thresholds.
- Details (bottom row)
- Tables and links to logs or service-specific dashboards for drill-down.

- Use template variables for service, namespace, and cluster so dashboards are reusable across environments.
- Set meaningful thresholds and color rules to make issues obvious.
- Link overview dashboards to service-specific dashboards for fast context switching.
- Pre-build panels for common incident questions so responders avoid creating PromQL under pressure.
- Keep panels focused: one question per panel.

Grafana visualizes metrics but does not store them long-term — ensure Prometheus retention, remote-write, or a long-term store is configured if you need extended history for investigations.