Skip to content

Grafana Dashboards

Prometheus collects and queries data; Grafana is the layer on top that turns a query into something a human looks at. Understanding what a dashboard is for — and what it can't do — matters as much as building one.

TL;DR — in 30 seconds:

  • Grafana doesn't collect metrics itself — it connects to a data source (Prometheus is the most common) and turns a query into a panel; a dashboard is several panels on one page.
  • A dashboard only helps the moment someone is looking at it — it will never wake anyone up on its own.
  • A dashboard is for confirming what an alert already told you and comparing a signal against its own history — not a substitute for alerting.

1. Grafana is a visualization layer over a data source

Grafana doesn't collect metrics itself. It connects to a data source — Prometheus is the most common, but Grafana also supports logs and traces backends — and turns a query against that data source into a panel: a graph, a single number, a table, a heatmap. A dashboard is a collection of panels arranged on one page.

flowchart LR
    P["Prometheus<br/>data source"] -- "PromQL query" --> G["Grafana panel"]
    G --> D["Dashboard<br/>(several panels together)"]

2. A dashboard is not an alert

A dashboard only tells you something the moment someone is looking at it. Nobody watches a dashboard 24/7, so a dashboard by itself will never wake anyone up when something breaks at 3am. A dashboard's job is to be useful after something has already caught your attention — a page from an alert, a user report — as the place you go to see what's actually happening. Alerting (the next page) is the mechanism that turns a crossed threshold into a notification without anyone needing to be staring at a screen.

3. What a dashboard is good for

  • Confirming what an alert already told you, with more context (which service, which time range, which of several panels moved).
  • Comparing a signal against its own recent history, to tell "normal spike" from "actually new behavior."
  • Giving a team a shared, at-a-glance view of the golden signals for a service they own.

4. How this connects

  • Every panel on a Grafana dashboard is a PromQL query — the same query language covered in Prometheus & PromQL.
  • Because a dashboard needs a human watching it, the mechanism that actually pages someone is alerting — covered next in Alerting, SLOs & error budgets.

You can defend this when you can explain, unprompted, why a dashboard is not a substitute for an alert, and what a dashboard is actually useful for once an alert has already fired.