Cloud Parts

Grafana

Dashboards and alerts over data that stays where it is: Prometheus, SQL databases, cloud monitoring and more.

What it is
Observability
Type
Open source
Made by
Grafana Labs
License
AGPLv3 (Apache 2.0 until April 2021)
Facts checked
5 October 2026

What it is

Grafana stores no metrics, logs or traces of its own. Each panel on a dashboard sends a query, written in that backend’s own language (PromQL for Prometheus, SQL for PostgreSQL), to a configured data source, and draws whatever comes back. Built-in data sources cover Prometheus, Loki, Tempo, Jaeger, Elasticsearch, CloudWatch, Azure Monitor, PostgreSQL, MySQL and others, and plugins add many more. A “Mixed” data source lets one panel combine several backends.

Grafana Alerting evaluates rules against the same data sources and sends notifications through contact points such as email, Slack or PagerDuty. Dashboards, users and alert rules live in Grafana’s own database: SQLite by default, with MySQL or PostgreSQL recommended for production. Dashboards are JSON, so they can be kept in git and provisioned from files. Grafana Labs relicensed Grafana from Apache 2.0 to AGPLv3 in April 2021, and sells Grafana Cloud (hosted) and Grafana Enterprise.

Why teams pick it

  • One place to look at many backends, without copying the data
  • Large catalogue of panels, data sources and community dashboards ready to import
  • Dashboards, data sources and alert rules can be provisioned from files and reviewed like code
  • Runs anywhere as one binary or container; Grafana Cloud has a free tier if you don’t want to host it

Watch out for

  • Only as good as its data sources: slow or expensive backend queries make slow or expensive dashboards
  • AGPLv3 obliges you to publish your changes if you modify Grafana and offer it to others over a network; some companies ban AGPL outright
  • The default SQLite database isn’t meant for production or for several Grafana replicas; you need MySQL or PostgreSQL
  • Dashboards edited by hand in the UI drift from what is in git unless provisioning is enforced

Alternatives

What all observability have in common →

How it fits with other technologies

What uses Grafana

provisioning/datasources/prometheus.yaml · yaml

apiVersion: 1

datasources:
  - name: Prometheus
    type: prometheus
    access: proxy            # Grafana's server makes the query, not the browser
    url: http://prometheus:9090
    isDefault: true
    jsonData:
      httpMethod: POST

See it in a real stack

IoT telemetry pipeline →
Live model
What you’re watchingDevice readings append to a Kinesis stream. Lambda reads small batches into TimescaleDB, where Grafana’s dashboard queries find them. A second consumer archives the stream to S3 in large, infrequent batches.
Where it came from2013–2026

In 2013 Torkel Ödegaard was using Graphite, a popular open-source store for time-series metrics, and found its user interface lacking. Kibana 3, the dashboard tool for Elasticsearch, had an interface he liked, so he forked it. On December 5, 2013, he made the first commit of what became Grafana: something like Kibana, but for time-series metrics. His goal, he said later, was “to make time series data accessible for a wider audience”.

Grafana was first released in January 2014 and spread quickly. Once a few people in a company used it, Ödegaard noticed, the dashboards went up on a TV, and people walking past got curious. Later that year Raj Dutt and Anthony Woods invited him to New York for a week of consulting, and the three founded raintank, later renamed Grafana Labs, to build a business around the open-source project. Grafana 2.0 in 2015 added a backend written in Go, and Grafana 3 in 2016 added plugins.

Grafana Labs went on to build its own backends for logs (Loki), traces (Tempo) and metrics (Mimir). In April 2021 it moved Grafana from Apache 2.0 to AGPLv3, and by 2024 it counted more than 20 million users.

Why it’s built this way

Query data where it lives, store none of it
Grafana began as a better face for Graphite, not a new database. Keeping data in its source and adding a plugin system in 2016 let one tool sit on top of Prometheus, SQL databases and cloud monitoring alike.
A visual editor for each query language
Ödegaard wrote a parser for Graphite’s query language so that long nested function calls could be shown and edited as a sequence of steps, which made building graphs approachable for people who weren’t Graphite experts.
Its own backend and database from version 2
Version 1 was only a frontend application that ran in the browser. The Go backend in 2.0 let users log in and save dashboards without running Elasticsearch, turning Grafana into a server that teams could host and share.

Timeline

  1. 2013

    First commit on December 5, forked from Kibana 3 for Graphite

  2. 2014

    First release in January; raintank, now Grafana Labs, founded

  3. 2015

    Grafana 2.0 adds a backend written in Go

  4. 2016

    Plugin system arrives in Grafana 3

  5. 2018

    Grafana Labs acquires Kausal and starts the Loki logging project

  6. 2021

    Relicensed from Apache 2.0 to AGPLv3 in April

  7. 2026

    Grafana 13 launched at GrafanaCON in April

Sources12 · facts checked 5 October 2026

Improve this page on GitHub