Grafana Core Concepts

Grafana revolves around a small set of building blocks. Once you recognise each block and see how the blocks connect, the interface stops feeling like a maze and starts feeling like a map. Every later topic in this tutorial builds on the ideas below.

The Restaurant Analogy

Picture a busy restaurant. Suppliers deliver raw ingredients, the kitchen prepares them, and waiters carry finished plates to the guests. Grafana follows the same pattern. Data sources supply the ingredients, queries prepare them, and panels serve them as visuals. A dashboard works like the full table setting that holds every plate in one place.

Supplier        Kitchen        Plate          Table
Data Source --> Query -------> Panel -------> Dashboard
(Prometheus)    (CPU rate)     (line chart)   (Server Health)

Data Source

A data source is a connection to a system that stores data. Prometheus, MySQL, Loki, and InfluxDB are common examples. Grafana never stores your metrics itself. It asks the data source for numbers whenever a panel needs them, so your data stays where it already lives.

Query

A query is a question you ask a data source. Imagine a request for the average CPU usage of one server over the last hour. Each data source speaks its own query language, and the query editor adapts to match it.

Panel

A panel is a single visual box on the screen. It runs one or more queries and draws the answer as a chart, a number, a table, or a log list. You choose the panel type that fits the question you want to answer.

Dashboard

A dashboard is a page that arranges many panels on a grid. Teams build one dashboard per service, per team, or per goal. A good dashboard answers one clear question at a glance, such as "Is the checkout service healthy?"

Supporting Concepts

Folder

Folders group dashboards the way folders on your computer group files. They carry permissions as well, so you can share a whole folder with a team in one step.

Variable

A variable is a drop-down list at the top of a dashboard. Viewers pick a server or a region, and every panel updates to match. One dashboard can serve hundreds of servers.

Alert Rule

An alert rule checks a query on a schedule. When the result crosses a limit you define, Grafana sends a message to the people responsible.

Annotation

An annotation is a labelled marker placed on a chart. Teams mark deployments or outages with annotations so a spike on the graph has an explanation beside it.

Organization

An organization is a separate workspace inside one Grafana server. Each organization owns its own dashboards, data sources, and users. Most small teams use a single organization.

Plugin

A plugin adds new abilities. Some plugins add data sources, some add panel types, and some add complete apps.

How the Pieces Connect

+------------------ Organization -------------------+
|                                                   |
|  +---------- Folder: Production ---------------+  |
|  |                                             |  |
|  |  +------- Dashboard: Web Servers -------+   |  |
|  |  |  [Variable: server v]                |   |  |
|  |  |  +---------+  +---------+            |   |  |
|  |  |  | Panel A |  | Panel B |            |   |  |
|  |  |  | Query 1 |  | Query 2 |            |   |  |
|  |  |  +----+----+  +----+----+            |   |  |
|  |  +-------|------------|-----------------+   |  |
|  +----------|------------|---------------------+  |
+-------------|------------|------------------------+
              v            v
          Data Source   Data Source

Read the diagram from the outside in. The organization holds folders, folders hold dashboards, and dashboards hold panels. Each panel reaches out to a data source through its own query.

A Real Scenario

Imagine an online shop with three web servers. The operations team connects Prometheus as a data source. They write a query that returns CPU usage per server and place it in a time series panel. A second panel shows a stat of total orders per minute. Both panels live on a dashboard named "Shop Health" inside a folder named "Production". A variable lets the team switch between servers, and an alert rule sends a message when CPU stays above 85 percent for ten minutes.

Quick Reference

TermPlain Meaning
Data SourceWhere the numbers live
QueryA question sent to the data source
PanelOne visual box
DashboardA page of panels
FolderA container for dashboards
VariableA drop-down that changes every panel
Alert RuleA watchman that sends a message on trouble
AnnotationA note pinned to a chart