Book a call
Tool in production

Grafana

The open-source platform for dashboards, metrics and alerts. 200+ data source plugins, drag-and-drop editor, alerting with routing — a concrete alternative to Power BI and Tableau for SMBs with IoT, production or sensor data.

Project profile

Grafana

The open observability platform for everyone

As of: June 2, 2026

GitHub stars

74k

Forks

14k

Open issues

3.6k

License

AGPL-3.0

Latest version

v13.0.1

Language

TypeScript

First release
December 11, 2013
Last commit
June 2, 2026

Third-party source · Wikidata (CC0)

Wikidata profile

Grafana

Q43399271

License

Apache Software License 2.0

Developer

Carl Bergquist

What is Grafana?

is the established open-source platform for dashboards, visualisation and alerting, around for over ten years. At its core it reads data from over 200 sources (, InfluxDB, , MySQL, , Elasticsearch, MongoDB, REST APIs, CSV files) and renders them as configurable panels — time series, tables, statistics, heatmaps, maps.

is licensed under AGPL-3.0 — real OSI open source. Alongside it there is Cloud (SaaS) and Enterprise (commercial license with additional features like SAML, reporting, auditing). For SMB self-hosting the open-source variant is sufficient without restrictions — self-hosting for own use is unproblematic under AGPL.

Why a brewery uses Grafana

In a private brewery with 8–15 fermentation tanks every brew runs over several days. , pressure, sometimes pH and original gravity have to be captured continuously — historically in the head brewer's Excel book, painstakingly updated in the evening. Sensor data often already exists (modern tanks have it built in) but nobody looks at it.

turns sensor data into a living picture: real-time fermentation curves per tank, comparison against the ideal target profile, alerts on drift via Slack or SMS. Plus: brew protocols are generated automatically from the database — the handwritten brewery log becomes an audit-friendly, searchable data base.

Client case study

Brauhaus Werder

Medium-sized private brewery in Brandenburg, 18 staff — head brewer + 6 brewers + shifts + administration + sales. 12 fermentation tanks at 40 hl each with 2–3 sensors per tank (, pressure, optionally pH and gravity). 16 months ago migrated from an Excel brewery log to InfluxDB + . Today: every brew is searchable, drift is detected in real time, brew protocols are generated automatically.

Real-time overview of all 12 tanks

One dashboard that shows the state of all 12 fermentation tanks at a glance — , pressure, brew phase, time to racking. Head brewer's daily glance: 30 seconds instead of a walkthrough.

Historical comparison between brews

'Brew 2026-127 Pils runs differently than usual' — overlays the current fermentation curve on the last 10 successful Pils brews. Anomalies visible in seconds, not only at the lab panel at the end.

Alerts on temperature drift

If a tank's drifts more than 2°C from the target profile for over 10 minutes: a Slack alert in #brewery-alerts. The head brewer also gets it at night — a slow drift can ruin a whole brew.

Mobile access for the head brewer

The head brewer wants to quickly look at tank 7 on the phone — without a laptop, without a VPN setup. runs as a responsive web app, PWA mode for home-screen icon and push notifications.

Multi data source

Sensor data in InfluxDB, brew plan and shift roster in , electricity and water consumption in CSV. combines all three sources in one dashboard — per brew the complete cost and consumption picture.

Dashboards for shift leads

Shift leads need simplified dashboards: only the tanks of their shift, large numbers, clear colour coding (green/yellow/red). The head brewer dashboard is the detail edition with multi-variable filters.

What the brewery actually does with it

Eight productive usage patterns from 16 months of practice at Brauhaus Werder. Each pattern replaces a handwritten brewery activity or a 'we'll hopefully notice' gap.

Master 'tank house' dashboard

12 tiles, one per tank: current , pressure, brew phase, planned racking. Colour-coded green (in target) / yellow (drift) / red (alarm). Permanently shown on a 27-inch monitor in the brew hall.

Fermentation curve comparison

Per tank a detail dashboard: the current brew curve overlaid on the last 10 successful brews of the same beer. The target corridor visible at a glance. The head brewer spots 'something runs off' in 2 seconds instead of 12 hours later.

Real-time alerts via Slack

Alertmanager sends alerts ( drift, pressure spike, sensor failure) to #brewery-alerts. Plus a Slack push on the head brewer's phone. Inhibition rules: if a sensor is offline, no 200 follow-up alerts.

Brew protocols automatic

At the end of every brew an generates a PDF brew protocol from data: fermentation curve, threshold breaches, consumption data, sensor overview. Lands in the DMS, searchable for 10 years.

Electricity, water, CO2 statistics

Three energy meters deliver via Modbus into InfluxDB. shows consumption per brew, per style, per month. The brewery sees 'our Pils 2026 uses 8 % more electricity than 2025' — an argument for efficiency investments.

Shift handover dashboard

Shift leads open a handover dashboard in the morning: active brews, status, planned rackings today. The previous shift left notes in a text panel. No more sticky-note chaos.

PDF reports for the brewery supervisor

Quarterly reports go to the German statistical office — volumes, styles, hop usage. The reporting (open-source plugin) generates the reports directly from the DB as PDF. Before: 2 days of Excel work. Now: 30 minutes.

Mobile PWA for the head brewer

is installed as a PWA on the head brewer's phone and on two shift-lead tablets. Push notifications for alerts. Mobile-optimised dashboards (large numbers, less detail). 24/7 overview, also from home.

Core capabilities of Grafana

What offers as a platform — and which of these capabilities really carry the brewery setup.

200+ data source plugins

, InfluxDB, , MySQL, MongoDB, , Elasticsearch, REST APIs, CSV, MQTT, Modbus — almost every imaginable data format has a plugin. Multi data source per dashboard without an ETL layer.

Drag-and-drop dashboard editor

Add a panel, choose data source, write a query, pick a visualisation — all in the browser UI. Templates for common (system monitoring, IoT, business KPIs). Panel reuse via variables.

Alerting with routing

Alerts are defined in (on query results), Alertmanager handles routing (Slack, email, ). Silencing for maintenance windows, inhibition for follow-up alarms, per-team routing for larger setups.

Users/roles + multi-tenancy

Preset roles (admin, editor, viewer) plus custom permissions per dashboard/folder. Multi-tenancy via folder structures: brewery sees brewery folder, sales sees sales folder, no cross-view.

REST API for custom embedding

Full REST for dashboards, datasources, alerts. Dashboards exportable as JSON, versionable in Git, deployable automatically via provisioning. Embed snippets for iframe inclusion in your own apps.

Variables for dynamic dashboards

Instead of 12 dashboards for 12 tanks: one dashboard with a 'tank' variable, dropdown to choose. On switching every query is re-evaluated. Scales to hundreds of data points without a dashboard explosion.

Honest alternatives

If Grafana is not a fit — what else?

Three alternatives with different strengths. is the broad standard for dashboards. The competition has its own focuses.

Microsoft stack

Power BI

Microsoft, proprietary

  • + Deep MS-365 and Azure integration
  • + Very strong Excel / SQL Server setup
  • − €10/user/month (Pro)
  • − MS cloud, self-hosting only via Report Server

Enterprise BI

Tableau

Salesforce, proprietary

  • + Very mature BI platform
  • + Strong data visualisation
  • − $70/user/month creator licence
  • − US cloud, self-hosting complicated

Open-source BI

Metabase

Metabase Inc., AGPL-3.0

  • + Self-hosted, easy entry
  • + Very good for SQL-centric data
  • − Fewer data sources than Grafana
  • − Weaker on time series and IoT

Rule of thumb: anyone wanting self-hosting, visualising IoT/sensor/server data and working with multi data sources is best placed on . Power BI is the right choice in Microsoft houses with MS-365 licensing. Tableau pays off in pure business-analytics with high licence tolerance. Metabase is a nice alternative for SQL-centric with fewer time series.

Pricing

AGPL-3.0. Self-hosted. No per-seat licence.

License

AGPL-3.0 — true OSI open-source license with strong copyleft. For SMB own use without redistribution no obligations. Alongside there is Grafana Enterprise (commercial, extra SAML/Reporting/Auditing features) and Grafana Cloud (SaaS) — not relevant for self-hosting.

Running costs

One container on an existing Docker host. RAM footprint around 256 MB for 5–20 dashboards. Plus the database, which runs anyway (InfluxDB/PostgreSQL). No per-seat licence, no cloud fees.

Effort

Installation: 30 minutes (start container, admin password). First dashboard with variables: 2–3 hours learning curve. Complete brewery setup (InfluxDB hookup, 12-tank dashboard, alerts, mobile PWA, brew-protocol workflow): 5–8 consulting days.

has a very active maintainer community and stable releases since 2014 (currently v13). The AGPL-3.0 license means: for own use no obligations whatsoever, for redistribution as a competing SaaS the own code must be published under AGPL. For 99 % of SMB setups irrelevant.

Alert rule: temperature drift in a fermentation tank

# Grafana Alert Rule (YAML, provisioning)
apiVersion: 1
groups:
  - orgId: 1
    name: head-brewer-alerts
    folder: Brewery
    interval: 30s
    rules:
      - uid: tank-temp-drift
        title: Tank temperature drifts from target
        condition: B
        data:
          - refId: A
            datasourceUid: influxdb-tanks
            model:
              query: |
                from(bucket: "tanks")
                  |> range(start: -15m)
                  |> filter(fn: (r) =>
                    r._measurement == "temperature" and
                    abs(r.actual - r.target) > 2.0)
                  |> mean()
          - refId: B
            type: threshold
            settings:
              expression: A > 0
        for: 10m
        labels:
          severity: warning
          team: head-brewer
        annotations:
          summary: "Tank {{ $labels.tank }} drifts by {{ $value }}°C"
        # → Alertmanager → Slack #brewery-alerts
If a tank's temperature drifts more than 2°C from the target profile for over 10 minutes, a Slack alert goes to the head brewer. The brew is not aborted, but the drift is noticed instantly. Source: own practice, MIT snippet.

Grafana stack with InfluxDB data source

services:
  grafana:
    image: grafana/grafana:13.0.1
    container_name: grafana
    restart: unless-stopped
    ports: ["3000:3000"]
    volumes:
      - grafana_data:/var/lib/grafana
      - ./provisioning:/etc/grafana/provisioning:ro
    environment:
      - GF_SERVER_ROOT_URL=https://dashboards.werder-brewery.com
      - GF_SECURITY_ADMIN_PASSWORD=${GRAFANA_ADMIN_PASS}
      - GF_AUTH_ANONYMOUS_ENABLED=false
      - GF_INSTALL_PLUGINS=grafana-clock-panel,grafana-piechart-panel
    networks: [observability, frontend]

  influxdb:
    image: influxdb:2.7
    container_name: influxdb
    restart: unless-stopped
    environment:
      - DOCKER_INFLUXDB_INIT_MODE=setup
      - DOCKER_INFLUXDB_INIT_USERNAME=admin
      - DOCKER_INFLUXDB_INIT_PASSWORD=${INFLUX_ADMIN_PASS}
      - DOCKER_INFLUXDB_INIT_ORG=werder-brewery
      - DOCKER_INFLUXDB_INIT_BUCKET=tanks
      - DOCKER_INFLUXDB_INIT_RETENTION=90d
    volumes:
      - influxdb_data:/var/lib/influxdb2
    networks: [observability]

volumes:
  grafana_data:
  influxdb_data:

networks:
  observability:
  frontend:
    external: true
Two containers: Grafana for dashboards and InfluxDB as a time-series database for sensor readings. Sensors post via HTTP or MQTT into InfluxDB, Grafana visualises. Source: docs.grafana.com, AGPL-3.0.

Related topics

Grafana is the visualisation — what feeds it?

shows data from other systems. In the brewery setup: sensor data in InfluxDB, brew plan in , alarms via . In classic IT monitoring: + :

Ready for the next step?

Free intro call, no strings attached. In 30 minutes you'll know whether and how AI can help your business.

Book a callBAFA funding