Echtzeit-Einblicke in Ihre Daten
mit Microsoft Fabric und ThingsBoard
Datum: 07.04.2026
Einführung: Echtzeit-Datenarchitektur
Die Verarbeitung von Echtzeitdaten wird für Unternehmen zunehmend wichtiger, um wertvolle Erkenntnisse aus ihren Abläufen zu gewinnen. Typische Anwendungsfälle umfassen die Echtzeitverarbeitung von Sensordaten aus Produktionsmaschinen, die anschließend mit Daten aus anderen Systemen – beispielsweise ERP‑ oder MES‑Daten – innerhalb einer einheitlichen Analyseplattform angereichert werden können.
In diesem Artikel stelle ich eine Architektur vor, die die weit verbreitete Open-Source-Software ThingsBoard nutzt, um Felddaten zu erfassen und an die umfassende cloudbasierte Datenplattform Microsoft Fabric zu übertragen.
Einführung in die Technologien
Im folgenden Abschnitt werfe ich einen genaueren Blick auf beide Technologien und darauf, wie sie zusammenarbeiten, um einen nahtlosen Fluss von Echtzeit-Gerätedaten in die Cloud zu ermöglichen.
Die ThingsBoard Community Edition (CE) ist eine weit verbreitete Open-Source‑IoT‑Plattform, die in industriellen und unternehmensweiten Umgebungen aufgrund ihrer Flexibilität und Skalierbarkeit beliebt ist. Viele große Organisationen nutzen sie, um IoT-Geräte zu verwalten, Telemetriedaten zu erfassen und diese über eine Vielzahl von Konnektoren – wie Azure Event Hubs, MQTT‑Broker, HTTP‑Endpoints und andere – an andere Systeme weiterzuleiten.
Die ThingsBoard‑Umgebung in meinem Beispiel besteht aus zwei Hauptkomponenten: dem ThingsBoard IoT Gateway und der ThingsBoard CE Platform:
- ThingsBoard Gateway:
Das Gateway fungiert als Brücke zwischen lokalen Industrieanlagen und der ThingsBoard‑Plattform. Es unterstützt eine breite Palette industrieller Kommunikationsprotokolle (z. B. OPC‑UA, Modbus, BACnet) und konvertiert Daten in das MQTT(S)- oder HTTP‑Format. - ThingsBoard Plattform:
Entweder in der Cloud oder lokal installiert übernimmt die ThingsBoard‑Plattform das Gerätemanagement, die Datenspeicherung und die regelbasierte Datenverarbeitung und stellt externe Konnektoren bereit, um eine Integration mit anderen Systemen zu ermöglichen (z. B. Diensten in Microsoft Azure, AWS, GCP). In diesem Beispiel verwende ich den externen Kafka‑Connector, um Daten an Azure Event Hubs weiterzuleiten, von wo sie anschließend in die KQL‑Datenbank in Microsoft Fabric ingestiert werden.
Unternehmen suchen zunehmend nach integrierten Datenplattform‑Lösungen, die zentrale Datenanforderungen wie Ingestion, Speicherung, Verarbeitung und Visualisierung sowohl von Echtzeit‑ als auch Batch‑Daten innerhalb einer einzigen Softwareumgebung abdecken können.
Das Ziel besteht darin, eine konsistente und skalierbare Datenbasis zu schaffen, die Analytics‑, Automatisierung‑ und KI‑gestützte Anwendungsfälle unterstützt. Microsoft Fabric bietet eine umfassende Plattform, die native Komponenten aus dem Microsoft‑Ökosystem vereint.
Für die Echtzeitdatenverarbeitung nutzt Microsoft Fabric die Kusto Query Language (KQL) Database, eine von Microsoft entwickelte Hochleistungsdatenbanktechnologie. Sie ist für Szenarien mit hohen Datenraten, Zeitreihendaten und Streaming‑Daten optimiert.
Über native Konnektoren zu Azure Event Hubs, Eventstreams und anderen Quellen können Daten nahezu in Echtzeit in die KQL‑Datenbank ingestiert werden. Eingehende Daten werden mit KQL verarbeitet, aggregiert und abgefragt – und ermöglichen dadurch hochperformante Analysen über große Datenmengen.
Abbildung 1: Echtzeit-Datenarchitektur (ThingsBoard & MS Fabric)
Hands-On:
Im Folgenden erkläre ich die Einrichtung einer vollständigen IoT‑Pipeline, die MQTT‑Daten (in meinem Fall von einer Solaranlage) mit ThingsBoard erfasst und an Microsoft Fabric sendet. Das Ziel ist zu zeigen, wie Felddaten in die Cloud übertragen werden können, um Echtzeit‑Monitoring und Analysen durchzuführen.
Voraussetzungen
Bevor man beginnt, sollte man sicherstellen, dass Folgendes vorhanden ist:
✓ ThingsBoard-Installation
Es gibt verschiedene Installationsoptionen, um die ThingsBoard CE‑Plattform bereitzustellen, z. B. auf Ubuntu oder per Docker (Linux, macOS, Windows).
Eine umfassende Installationsanleitung findet man auf der ThingsBoard‑Webseite
Nach der erfolgreichen Installation der ThingsBoard‑Plattform kannst du das ThingsBoard IoT Gateway installieren und mit der ThingsBoard‑Plattform verbinden, wie in der Anleitung beschrieben.
✓ Azure Event Hubs
Richte einen Azure Event Hubs‑Namespace ein und erstelle einen Event Hub. Du benötigst zwei Shared‑Access‑Richtlinien:
1. Eine Richtlinie, um Daten aus ThingsBoard abzurufen. (Der Primärschlüssel und der Name des Zugriffsschlüssels werden im Kafka‑Connector‑Knoten der ThingsBoard‑Rule‑Engine benötigt)
2. Eine Richtlinie, um Daten an Microsoft Fabric zu senden (Die Zugangsdaten werden benötigt, um in Microsoft Fabric eine Event‑Hub‑Verbindung einzurichten)
✓ MS Fabric
Stelle sicher, dass deine Microsoft Fabric‑Instanz eingerichtet ist.
Schritt 1: Verbinden von Felddaten mit ThingsBoard
Im folgenden Abschnitt erkläre ich, wie du die MQTT‑Daten deines Geräts mit dem ThingsBoard‑Gateway verbindest und an die ThingsBoard‑Plattform anbindest:
- Gehe im ThingsBoard‑Plattformmenü zum Gateway, das du eingerichtet hast. Es sollte in der Gateway‑Liste als „Active” erscheinen.
- Klicke auf das Gateway und öffne „Connector Configuration“. Hier richtest du die Verbindung zwischen deinen Feldgeräten und ThingsBoard ein.
- Konfiguriere nun, welche MQTT‑Topics abonniert werden sollen.
Füge dazu einen Connector vom Typ „MQTT” hinzu und konfiguriere die Broker‑Verbindung sowie das Daten‑Mapping für das Topic, das ThingsBoard abonnieren soll.
Du kannst entweder die grafische Benutzeroberfläche verwenden oder unter den Advanced Options eine JSON‑Konfiguration erstellen (siehe Abbildung 2).
Abbildung 2: MQTT‑Konfigurations‑Setup
Hier ist ein Beispiel für eine JSON-Konfiguration eines Konnektors:
Nach der erfolgreichen Verbindung deiner Daten mit der ThingsBoard‑Plattform solltest du eingehende Daten sehen können, wenn du auf den Gerätenamen klickst und unter „Latest Telemetry“ nachschaust, siehe Abbildung 3.
Abbildung 3: Feldgeräte‑Telemetrie
Schritt 2: ThingsBoard Rule Chain
Als Nächstes nutzt du die ThingsBoard‑Rule‑Chain, um die Daten zu verarbeiten und über den externen Kafka‑Connector an Azure Event Hubs zu senden. Rule‑Chains ermöglichen es dir festzulegen, wie eingehende Telemetriedaten verarbeitet, gefiltert, transformiert und weitergeleitet werden.
In diesem Beispiel erstelle ich eine Rule‑Chain mit drei Hauptknoten, siehe Abbildung 4.
Abbildung 4: ThingsBoard Rule Chain
Ich beginne die Rule‑Chain beim Standardknoten „save time series“, in dem alle Telemetriedaten gesammelt werden, und ergänze anschließend die folgenden Knoten:
1. Filter Script Node: Dieser Knoten filtert eingehende Nachrichten, um ausschließlich die Daten des Zielgeräts auszuwählen. Mithilfe von JavaScript prüfe ich dabei den Gerätenamen:
return metadata.deviceName === "Solar-Data";
2. Transformation Script Node: Hier ergänze ich die Metadaten um zusätzliche Informationen, die Azure Event Hubs benötigt. Zum Beispiel weise ich einen Topic‑Namen zu:
var topic = "solar-data";
metadata.topic = topic;
return { msg: msg, metadata: metadata};
3. External Kafka Node: Das Senden von Daten an Azure Event Hubs. Voraussetzung ist, dass du im Event‑Hubs‑Namespace einen Event Hub mit der in den Voraussetzungen genannten Shared‑Access‑Richtlinie eingerichtet hast. Die wichtigsten Konfigurationsoptionen im Kafka‑Knoten sind:
- Topic pattern: Hier musst du den Topic‑Namen eintragen, den du in Schritt 2 erstellt hast (in meinem Beispiel „solar‑data“)
- Bootstrap servers: energydata.servicebus.windows.net:9093
- Key serializer: org.apache.kafka.common.serialization.StringSerializer
- Value serializer: org.apache.kafka.common.serialization.StringSerializer
- Other properties:
Schlüssel
security.protocol
sasl.mechanism
sasl.jaas.config
Wert
SASL_SSL
PLAIN
org.apache.kafka.common.security.plain.PlainLoginModule required username="$ConnectionString" password="Endpoint=sb://eventhubsnamespace.servicebus.windows.net/;SharedAccessKeyName=sharedaccess-key-name;SharedAccessKey=sharedaccessprimarykey=;EntityPath=eventhubname";
Abbildung 5: MS Fabric 2. Event‑Hubs‑Verbindung
Schritt 3: Verbinden von Echtzeitdaten mit MS Fabric
Nachdem die MQTT‑Daten von ThingsBoard an Azure Event Hubs gesendet wurden, besteht der nächste Schritt darin, sie mit Microsoft Fabric zu verbinden, um Analysen, Visualisierungen und Echtzeit‑Monitoring durchzuführen.
1. KQL‑Datenbank und Tabellenerstellung
Richte im MS‑Fabric‑Workspace eine KQL‑Datenbank ein – sie dient als Zeitreihendatenbank in Microsoft Fabric.Innerhalb der neuen Datenbank erstellst du eine KQL‑Tabelle. Diese Tabelle speichert die strukturierten Telemetriedaten, die aus Event Hubs kommen. Du kannst Spalten definieren, die dem Telemetrieschema entsprechen..
2. Event‑Hubs‑Verbindung:
Öffne in der Datenbanktabelle „Get Data“ (Daten abrufen) und wähle „Event Hubs“, siehe Abbildung 5.
Gib deinen Event‑Hubs‑Namespace, den Event‑Hub‑Namen und die Zugangsdaten der Shared‑Access‑Keys ein.
Lege die Consumer‑Gruppe fest, die die Nachrichten lesen soll. Consumer‑Gruppen ermöglichen es mehreren Clients, denselben Event Hub unabhängig voneinander auszulesen.
Diese Verbindung stellt sicher, dass neu eingehende Telemetriedaten aus Event Hubs automatisch in die Fabric‑Tabelle ingestiert werden. Neu eintreffende Daten werden in der Tabelle grün hervorgehoben angezeigt.
Schritt 4: Einrichten eines Echtzeit‑Dashboards und Vorbereiten von KQL‑Abfragen
Nachdem die Verbindung hergestellt wurde, kannst du nun ein Echtzeit‑Dashboard erstellen, um die Telemetriedaten zu visualisieren. Klicke dafür mit der rechten Maustaste auf die KQL‑Tabelle und wähle „Real‑time Dashboard“ aus.
Hier kannst du nahezu in Echtzeit Diagramme erstellen, die auf KQL‑Abfragen basieren und die neu erstellte KQL‑Datenbanktabelle nutzen.
Die Kusto Query Language (KQL) ist eine Skriptsprache, die verwendet wird, um Zeitreihendaten abzufragen und zu transformieren. Sie basiert auf einer Pipe‑Syntax (|), mit der du mehrere Operationen wie Filtern, Projizieren, Aggregieren und Sortieren in einer klaren und gut lesbaren Sequenz verketten kannst – siehe Beispiel unten.
Abbildung 6: Beispiel von Kusto Query Language (KQL)
Nachdem die Daten vorbereitet wurden, kannst du sie im Dashboard nahezu in Echtzeit visualisiert sehen. Es gibt außerdem eine Option, die Dashboards innerhalb eines definierten Zeitbereichs automatisch zu aktualisieren – ideal, wenn du beispielsweise eine Live‑Ansicht direkt auf dem Shopfloor benötigst.
Fazit
Die Lösung vereint die Stärken zweier leistungsfähiger Plattformen. ThingsBoard bietet ein skalierbares und flexibles Setup, das mehrere Feldprotokolle sowie eine große Auswahl externer Konnektoren unterstützt und zudem die Möglichkeit bietet, lokal installiert zu werden. Microsoft Fabric wiederum stellt eine All‑in‑One‑Cloud‑Umgebung bereit, in der Daten nahezu in Echtzeit mithilfe von KQL gespeichert, verarbeitet und visualisiert werden können.
Gemeinsam schaffen beide Plattformen ein robustes und effizientes Ökosystem, das Edge‑ und Cloud‑Fähigkeiten optimal miteinander kombiniert.
Sie haben Fragen? Ich freue mich auf Ihre Nachricht!