Grafana für die industrielle IoT-Überwachung: Modbus-Dashboard, Warnmeldungen, Verlaufsdaten
Grafana hat sich zum Standardtool für die Visualisierung industrieller Daten entwickelt. Das kostenlose, quelloffene und erweiterbare Tool wandelt Ihre Modbus-, OPC-UA- oder MQTT-Daten in betriebsreife Dashboards um. Dieser Leitfaden zeigt Ihnen, wie Sie mit Grafana eine umfassende industrielle Überwachungslösung aufbauen – oder wie Eziwan Ihnen diese schlüsselfertig bereitstellt.
- Warum Grafana für die industrielle Überwachung?
- Architektur: Von Modbus bis Grafana
- Grafana + InfluxDB mit Docker installieren
- Erstellen Sie Ihr erstes industrielles Dashboard
- Grafana-Benachrichtigungen einrichten
- Grafana-Vorlagen und -Variablen für mehrere Standorte
- Vorkonfigurierte Grafana-Dashboards für die Industrie
- Integration von Eziwan in Grafana
- FAQ – Grafana für die industrielle Überwachung
- Weiterführende Informationen
- Weitere Ressourcen
Warum Grafana für die industrielle Überwachung?
Grafana hat sich in der Branche aus mehreren Gründen durchgesetzt:
- Universelle Konnektoren: InfluxDB, TimescaleDB, PostgreSQL, Prometheus, MQTT, REST-API – eine Datenquelle für jeden Stack
- Umfangreiche Dashboards: Zeitreihen, Anzeigen, Statistiken, Tabellen, Heatmaps, Flussdiagramme (mit Plugins)
- Integrierte Warnmeldungen: Benachrichtigungen per SMS, E-Mail, Slack, PagerDuty, Webhook
- Zugriffsverwaltung: Teams, Ordner, Berechtigungen pro Dashboard
- Branchenspezifische Plugins: P&ID (Flussdiagramme), Rohrleitungsdiagramme, Übersichtsdiagramme
Im Vergleich zu einem herkömmlichen SCADA-System:
| Grafana (+ IoT-Stack) | SCADA Wonderware/Ignition | |
|---|---|---|
| Lizenzkosten | 0 (Open Source) | 5.000–50.000 € |
| Hosting-Kosten | 50–200 €/Monat (Cloud) | Dedizierter Server + Wartung |
| Unbegrenzte Variablen | ✅ | ❌ (Abrechnung pro Tag) |
| Native Weboberfläche | ✅ | ✅ (Ignition) / ❌ (Wonderware) |
| Mobilfähig | ✅ | Teilweise |
| Cloud-Integration | Nativ | Komplex |
Architektur: Von Modbus bis Grafana
Der komplette Stack zur Überwachung von Modbus-SPSen in Grafana:
Alternative bei großen Mengen:
Eziwan-Lösung (All-in-One):
Eziwan umfasst den kompletten Stack (Modbus-/OPC-UA-Erfassung, Cloud-Zeitreihen, vorkonfigurierte Grafana-Dashboards, SMS-/E-Mail-Benachrichtigungen), ohne dass Sie die einzelnen Komponenten selbst installieren und warten müssen.
Grafana + InfluxDB mit Docker installieren
# docker-compose.yml
version: '3.8'
services:
influxdb:
image: influxdb:2.7
ports:
- "8086:8086"
environment:
DOCKER_INFLUXDB_INIT_MODE: setup
DOCKER_INFLUXDB_INIT_USERNAME: admin
DOCKER_INFLUXDB_INIT_PASSWORD: mot_de_passe_securise
DOCKER_INFLUXDB_INIT_ORG: eziwan
DOCKER_INFLUXDB_INIT_BUCKET: industrie
DOCKER_INFLUXDB_INIT_RETENTION: 1825d # 5 ans
volumes:
- influxdb_data:/var/lib/influxdb2
grafana:
image: grafana/grafana:10.4.0
ports:
- "3000:3000"
environment:
GF_SECURITY_ADMIN_PASSWORD: grafana_securise
volumes:
- grafana_data:/var/lib/grafana
depends_on:
- influxdb
telegraf:
image: telegraf:1.29
volumes:
- ./telegraf.conf:/etc/telegraf/telegraf.conf:ro
depends_on:
- influxdb
volumes:
influxdb_data:
grafana_data:
Telegraf-Konfiguration für MQTT
# telegraf.conf
[[inputs.mqtt_consumer]]
servers = ["tcp://localhost:1883"]
topics = ["usine/#"]
qos = 1
data_format = "json"
# Parsen des MQTT-Themas: Fabrik/Standort/Station/Variable
[[inputs.mqtt_consumer.topic_parsing]]
topic = "usine/+/+/+"
tags = "_/_/station/_"
fields = "_/_/_/value"
[[outputs.influxdb_v2]]
urls = ["http://influxdb:8086"]
token = "votre_token_influxdb"
organization = "eziwan"
bucket = "industrie"
Erstellen Sie Ihr erstes industrielles Dashboard
Panel 1: Trenddiagramm (Zeitreihe)
So zeigen Sie die zeitliche Entwicklung des Drucks einer Station an:
InfluxDB-Abfrage (Flux):
from(bucket: "industrie")
|> range(start: v.timeRangeStart, stop: v.timeRangeStop)
|> filter(fn: (r) => r["_measurement"] == "mqtt_consumer")
|> filter(fn: (r) => r["station"] == "station1")
|> filter(fn: (r) => r["_field"] == "pression")
|> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)
|> yield(name: "mean")
Einstellungen im Bedienfeld:
- Typ:
Time series - Einheit der Y-Achse:
bar(Druck) - Linienbreite: 2
- Füllungsopazität: 10
- Schwellenwerte: grün < 8 bar, orange 8–10 bar, rot > 10 bar
Feld 2: Anzeige (Momentanwert)
So zeigen Sie den aktuellen Wert einer Variablen an:
InfluxDB-Abfrage:
from(bucket: "industrie")
|> range(start: -1m)
|> filter(fn: (r) => r["station"] == "station1" and r["_field"] == "pression")
|> last()
Einstellungen des Panels:
- Typ:
Gauge - Min: 0, Max: 16
- Einheit:
bar - Schwellenwerte: 0=grün, 10=orange, 12=rot
Panel 3: Kennzahlen (KPI)
So zeigen Sie die Gesamtanlageneffektivität (TRS) oder einen Produktionszähler an:
InfluxDB-Abfrage:
from(bucket: "industrie")
|> range(start: -24h)
|> filter(fn: (r) => r["_field"] == "pieces_produites")
|> sum()
Panel-Einstellungen:
- Typ:
Stat - Einheit:
pcs(benutzerdefiniert) - Farbmodus:
Background(rot, wenn < Zielwert)
Panel 4: Tabelle mit mehreren Standorten
So zeigen Sie den Status all Ihrer Websites in Echtzeit an:
from(bucket: "industrie")
|> range(start: -5m)
|> filter(fn: (r) => r["_field"] == "pression" or r["_field"] == "debit" or r["_field"] == "etat")
|> last()
|> pivot(rowKey: ["_time", "station"], columnKey: ["_field"], valueColumn: "_value")
Ergebnis: Tabelle mit den Spalten „Station“, „Druck“, „Durchfluss“ und „Status“, eine Zeile pro Standort.
Grafana-Benachrichtigungen einrichten
Warnung bei Überschreitung des Schwellenwerts
In Grafana 10+ (Unified Alerting):
- Das Panel öffnen →
Edit → Alert - Eine Regel erstellen:
Condition: WHEN last() OF query(A, 5m, now) IS ABOVE 10
- Die Benachrichtigung konfigurieren:
- Kontaktpunkt: E-Mail →
maintenance@usine.fr - Kontaktpunkt: Webhook → SMS über Twilio/OVH SMS
- Kontaktpunkt: E-Mail →
- Automatische Stummschaltung: 15 Minuten nach Bestätigung
Alarmgruppierung für mehrere Standorte
Um „Alert Storms“ zu vermeiden, wenn mehrere Standorte gleichzeitig ausfallen:
# alertmanager.yml
route:
group_by: ['alertname', 'site']
group_wait: 30s
group_interval: 5m
repeat_interval: 3h
receiver: 'maintenance-team'
receivers:
- name: 'maintenance-team'
email_configs:
- to: 'maintenance@usine.fr'
send_resolved: true
webhook_configs:
- url: 'https://api.sms-provider.fr/send'
Anmerkungen zu Ereignissen
Bei Alarmen automatische Anmerkungen zu den Diagrammen hinzufügen:
// Bei einem Fehler eine InfluxDB-Anmerkung erstellen
from(bucket: "industrie")
|> range(start: v.timeRangeStart)
|> filter(fn: (r) => r["_field"] == "defaut" and r["_value"] == 1)
|> map(fn: (r) => ({r with _value: "Défaut détecté sur ${r.station}"}))
Grafana-Vorlagen und -Variablen für mehrere Standorte
Mit den Template-Variablen können Sie ein generisches Dashboard erstellen, das für alle Ihre Websites wiederverwendbar ist.
Eine Variable „site“ erstellen
Dashboard Settings → Variables → New Variable:
- Name:
site - Typ:
Query - Datenquelle: InfluxDB
- Abfrage:
import "influxdata/influxdb/schema"schema.tagValues(bucket: "industrie", tag: "station")
Die Variable in den Panels verwenden
from(bucket: "industrie")
|> range(start: v.timeRangeStart)
|> filter(fn: (r) => r["station"] == "${site}")
|> filter(fn: (r) => r["_field"] == "pression")
Der Betreiber kann nun den Standort aus einem Dropdown-Menü oben im Dashboard auswählen.
Vorkonfigurierte Grafana-Dashboards für die Industrie
Dashboard zur Überwachung der Pumpstation
┌─────────────────────────────────────────────────────────────────┐
│ Messstation: [Dropdown] │ Zeitraum: [6 Std.|24 Std.|7 Tage|30 Tage] │
├──────────────┬──────────────┬──────────────┬────────────────────┤
│ Druck │ Durchfluss │ Füllstand │ Pumpenzustand │
│ [gauge] │ [gauge] │ [gauge] │ [stat 🟢/🔴] │
├──────────────┴──────────────┴──────────────┴────────────────────┤
│ 24-Stunden-Trends: Druck / Durchfluss / Füllstand │
│ [time series graph] │
├─────────────────────────────────────────────────────────────────┤
│ Aktive Alarme │ Letzte Einsätze │
│ [table] │ [table annotations] │
└─────────────────────────────────────────────────────────────────┘
Dashboard für die Produktion an mehreren Standorten
┌────────────────────────────────────────────────────────────────────┐
│ Vue globale — 15 sites │
├──────────┬──────────┬──────────┬──────────┬──────────┬────────────┤
│ Site 1 │ Site 2 │ Site 3 │ Site 4 │ Site 5 │ ... │
│ TRS: 87% │ TRS: 91% │ TRS: 73% │ TRS: 94% │ TRS: 82% │ │
│ 🟢 OK │ 🟢 OK │ 🔴 Alrm │ 🟢 OK │ 🟡 Warn │ │
├──────────┴──────────┴──────────┴──────────┴──────────┴────────────┤
│ Kumulierte Produktion in 24 Stunden: Ziel vs. Ist [Balkendiagramm] │
└────────────────────────────────────────────────────────────────────┘
Integration von Eziwan in Grafana
Eziwan bietet zwei Möglichkeiten zur Integration mit Grafana:
Modus 1: Grafana, gehostet bei Eziwan (empfohlen)
Die Eziwan-Plattform integriert Grafana nativ. Ihre Modbus-/OPC-UA-Daten befinden sich bereits in unserer in Frankreich gehosteten Zeitreihendatenbank. Sie greifen direkt über Ihren Browser auf die Dashboards zu, mit:
- Vorkonfigurierten Dashboards für gängige Anwendungsfälle (Wasser, Energie, Produktion)
- Verwalteten SMS-/E-Mail-Benachrichtigungen
- 5-jähriger Datenhistorie ohne Konfiguration
- Unterstützung für mehrere Standorte und Benutzer sowie Rechteverwaltung
Modus 2: Export in Ihr bestehendes Grafana
Wenn Sie bereits über ein internes Grafana verfügen:
- Eziwan-REST-API: Rufen Sie Ihre Daten über
GET /api/v1/variables/{id}/historyab - MQTT-Webhook: Eziwan veröffentlicht Ihre Daten auf Ihrem bestehenden MQTT-Broker
- Eziwan-Grafana-Plugin (auf Anfrage erhältlich): Datenquellen-Plugin für die direkte Verbindung
FAQ – Grafana für die industrielle Überwachung
Kann Grafana ein SCADA-System im Produktivbetrieb ersetzen? Für die Visualisierung und Alarmierung ja, in vielen Fällen. Für die Echtzeitsteuerung (Schreiben an SPS, Steuerungssequenzen) wird weiterhin ein SCADA- oder ein dediziertes HMI-System empfohlen. Grafana zeichnet sich durch Protokollierung, Trendanalyse und standortübergreifendes Monitoring aus.
Welche Datenbank eignet sich zum Speichern von Industriedaten in Grafana? InfluxDB ist die Standardwahl für industrielle Zeitreihen (hohe Frequenz, native Komprimierung, leistungsstarke Flux-Abfragen). TimescaleDB (eine PostgreSQL-Erweiterung) eignet sich, wenn Sie bereits PostgreSQL einsetzen. Prometheus ist für Infrastrukturmetriken geeignet, für Prozessdaten jedoch weniger relevant.
Wie kann man den Zugriff auf Grafana über das Internet sichern? Grafana hinter einem Reverse-Proxy (Nginx/Traefik) mit TLS bereitstellen, die OIDC/LDAP-Authentifizierung aktivieren, den anonymen Zugriff deaktivieren und Warnmeldungen bei fehlgeschlagenen Anmeldeversuchen konfigurieren. InfluxDB niemals direkt im Internet verfügbar machen.
Kann Grafana 1.000 Standorte und 100.000 Variablen verwalten? Ja, mit der richtigen Architektur. InfluxDB 2.x unterstützt Milliarden von Datenpunkten. Grafana Enterprise unterstützt Clustering. Bei sehr großen Datenmengen sollten Sie Apache Kafka als vorgelagerte Lösung für das Streaming sowie differenzierte Aufbewahrungsrichtlinien in Betracht ziehen (1-Sekunden-Daten werden 30 Tage lang aufbewahrt, 1-Minuten-Daten 5 Jahre lang).
Kann ich in Grafana ein P&ID-Übersichtsdiagramm erstellen? Ja, mit dem Plugin Flowcharting (basierend auf draw.io). Sie zeichnen Ihr P&ID-Schema, verknüpfen Grafana-Variablen mit jedem Gerät, und die Werte werden in Echtzeit auf dem Übersichtsdiagramm angezeigt, wobei sich die Farbe je nach Status ändert.
Weiterführende Informationen
- Blog: Vorausschauende Instandhaltung mit IIoT – von den Sensordaten bis zum Alarm vor Ort
- Blog: Industrielle Fernüberwachung – umfassender Leitfaden 2026
- Blog: Modbus TCP vs. RTU – welches Protokoll soll man wählen?
- Blog: Photovoltaikpark – IoT-Überwachung und -Monitoring
- Dokumente: Modbus-RTU-Konfiguration auf dem Eziwan-Gateway
Möchten Sie Grafana-Dashboards nutzen, ohne sich um die Infrastruktur kümmern zu müssen? Testen Sie Eziwan 30 Tage lang kostenlos – Ihre Modbus-Daten in Grafana in weniger als einer Stunde.
Weitere Ressourcen
- Modbus RTU in die Cloud – Verbinden Sie Ihre RS-485-Modbus-RTU-Geräte mit der Cloud
- Industrieller Cloud-Datenlogger – Speichern Sie Ihre Modbus-Daten in der Cloud
- Cloud-SCADA – Cloud-SCADA-Plattform mit integrierten Dashboards
- Industrieprotokolle – Modbus, MQTT, OPC UA und andere Protokolle verstehen
- Industrielle Überwachung und Fernwartung — standortübergreifende Überwachung Ihrer Modbus-Geräte