Coreflux MQTT Broker mit Managed Databases für IoT-Datenverarbeitung bereitstellen
MQTT Broker verbinden IoT-Geräte und Anwendungen über ein Publish-Subscribe-Messaging-Modell und sind damit ein zentraler Bestandteil moderner IoT-Infrastrukturen. Coreflux erweitert diese Grundlage als Low-Code-MQTT-Broker um Funktionen für Echtzeit-Datenverarbeitung und Datentransformation. Dadurch lassen sich Managed Databases wie MongoDB, PostgreSQL, MySQL oder OpenSearch direkt anbinden, ohne eigene Integrationslogik entwickeln zu müssen.
Was Sie in diesem Leitfaden lernen
Diese Anleitung zeigt, wie Sie eine vollständige IoT-Datenpipeline bereitstellen: von der Einrichtung eines Managed-Database-Clusters und eines Coreflux MQTT Brokers in einer Cloud-Umgebung über die Konfiguration sicherer privater Netzwerke bis hin zur Erstellung von Datentransformationsmodellen mit Coreflux Language of Things (LoT). Außerdem erfahren Sie, wie verarbeitete IoT-Daten automatisch in der ausgewählten Datenbank gespeichert werden. Am Ende steht eine produktionsnahe Umgebung für Echtzeit-Messaging und persistente IoT-Datenspeicherung.
Wichtige Ergebnisse
Bevor Sie mit der Bereitstellung beginnen, sehen Sie hier die wichtigsten Ziele dieser Anleitung:
- Sie stellen einen Managed-Database-Cluster wie PostgreSQL, MongoDB, MySQL oder OpenSearch für skalierbare IoT-Datenspeicherung bereit.
- Sie installieren den Coreflux MQTT Broker auf einer Cloud-VM, entweder über ein Marketplace-Image oder mithilfe von Docker.
- Sie richten ein sicheres privates Netzwerk ein, damit MQTT Broker und Datenbank ohne öffentliche Exponierung kommunizieren können.
- Sie erstellen Echtzeit-Datenpipelines mit Coreflux Language of Things (LoT) für Low-Code-IoT-Automatisierung.
- Sie transformieren IoT-Daten automatisch aus MQTT Topics und speichern sie in Tabellen, Collections oder Indizes.
- Sie prüfen den vollständigen Datenfluss von simulierten Sensoren über Transformationsmodelle bis zur langfristigen Datenhaltung.
Diese Anleitung schafft eine produktionsnahe Ausgangsbasis für IoT-Anwendungen, die Echtzeit-Messaging, dauerhafte Speicherung sowie erweiterte Funktionen wie Suche, Analysen oder relationale Abfragen benötigen.
Was Sie aufbauen
Am Ende dieser Automatisierungsanleitung haben Sie folgende Komponenten bereitgestellt:
- Einen Managed-Database-Cluster wie PostgreSQL, MongoDB, MySQL oder OpenSearch für skalierbare Speicherung
- Eine Cloud-VM mit laufendem Coreflux MQTT Broker
- Ein Virtual Private Cloud Netzwerk für sichere IoT-Kommunikation
- Echtzeit-Datensimulation mit der LoT Notebook Extension
- Low-Code-Modelle für Datentransformation und Datenbankrouten
- Eine vollständige Integrations- und Transformationspipeline für IoT-Automatisierung
Coreflux und Cloud Plattform Integration
Coreflux stellt einen schlanken MQTT Broker und Datenpipeline-Werkzeuge über die Programmiersprache Language of Things bereit, um effiziente IoT-Kommunikation in Cloud-Umgebungen zu ermöglichen.
Was ist MQTT?
MQTT steht für Message Queuing Telemetry Transport und ist ein leichtgewichtiges Publish-Subscribe-Netzwerkprotokoll, das häufig in IoT-Ökosystemen eingesetzt wird. Es wurde für eingeschränkte Geräte sowie Netzwerke mit geringer Bandbreite, hoher Latenz oder instabiler Verbindung entwickelt. Dadurch unterstützt MQTT effizientes Echtzeit-Messaging auch dort, wo Netzwerkressourcen begrenzt sind.
Über Coreflux
Coreflux bietet einen schlanken MQTT Broker für effiziente Echtzeitkommunikation zwischen IoT-Geräten und Anwendungen. Zusätzlich stellt Coreflux Funktionen zur Echtzeit-Datentransformation bereit, die an konkrete Szenarien angepasst werden können. Die Lösung ist auf Skalierbarkeit und Zuverlässigkeit ausgelegt und eignet sich für Umgebungen, in denen niedrige Latenz und hoher Durchsatz wichtig sind.
Coreflux steuert Nachrichtenrouting und Datenflüsse zwischen Geräten, unabhängig davon, ob es sich um ein kleines IoT-Projekt oder eine umfangreiche industrielle Monitoring-Plattform handelt.
Mit Coreflux in einer Cloud-Umgebung erhalten Sie:
- Datenverarbeitung: Zentrale Verarbeitung der Daten dort, wo sie gespeichert werden, sodass Echtzeitprozesse nah an der Datenquelle stattfinden.
- Datenintegration: Einfache Anbindung an Managed-Database-Dienste wie PostgreSQL, MongoDB, MySQL oder OpenSearch für ein einheitliches Ökosystem aus Speicherung und Verarbeitung.
- Skalierbarkeit: Die Möglichkeit, eine steigende Anzahl von Geräten und wachsende Datenmengen ohne Leistungsverlust zu verwalten.
- Zuverlässigkeit: Stabile Nachrichtenübermittlung zwischen allen verbundenen Geräten.
Voraussetzungen
Für diese Anleitung zur Bereitstellung eines MQTT Brokers benötigen Sie:
- Ein Cloud-Konto mit aktivierter Abrechnung
- Grundkenntnisse zu MQTT-Konzepten und IoT-Architekturen
- Visual Studio Code für die LoT Notebook Extension
Geschätzter Zeitaufwand: Die Umsetzung dieser Anleitung dauert in der Regel etwa 30 bis 45 Minuten. Die genaue Dauer hängt davon ab, wie lange die Bereitstellung der Datenbank benötigt. Pro Datenbank-Cluster sind meist 1 bis 5 Minuten einzuplanen.
Netzwerkinfrastruktur für IoT Automatisierung erstellen
VPC-Netzwerk für sichere MQTT-Kommunikation anlegen
Erstellen Sie zunächst eine Virtual Private Cloud (VPC), damit Ihre IoT-Dienste und der MQTT Broker sicher kommunizieren können, ohne auf öffentliche Verbindungen angewiesen zu sein.
- Melden Sie sich im Cloud-Control-Panel an.
- Öffnen Sie den Netzwerkbereich und navigieren Sie zu VPC.
- Wählen Sie die Option zum Erstellen eines neuen VPC-Netzwerks.
Konfigurieren Sie die VPC für die IoT-Automatisierung beispielsweise mit folgenden Einstellungen:
- Name: coreflux-integrations-vpc oder ein anderer passender VPC-Name
- Rechenzentrumsregion: Wählen Sie Frankfurt oder Ihre bevorzugte Region
- IP-Bereich: Verwenden Sie den Standardbereich oder passen Sie ihn bei Bedarf an
- Beschreibung: Ergänzen Sie eine aussagekräftige Beschreibung für das MQTT-Broker- und Datenbanknetzwerk
Erstellen Sie anschließend das VPC-Netzwerk.
Die VPC stellt eine isolierte Netzwerkumgebung für alle IoT-Ressourcen bereit und sorgt dafür, dass Coreflux MQTT Broker und Managed Databases sicher miteinander kommunizieren können.
Managed Database für skalierbare Speicherung einrichten
Wählen Sie je nach Anforderungen Ihrer IoT-Anwendung eine der folgenden Datenbankoptionen aus:
- PostgreSQL: Geeignet für strukturierte Daten, relationale Abfragen, ACID-Konformität und komplexe Beziehungen
- MySQL: Passend für strukturierte Workloads und transaktionale Abfragen mit starker Konsistenz und breiter Tool-Unterstützung
- MongoDB: Ideal für flexible Dokumentenspeicherung, wenn sich Schemata häufig ändern und Entwicklung schnell erfolgen soll
- OpenSearch: Eine gute Wahl für erweiterte Suche, Analysen, Log-Auswertung und Zeitreihenvisualisierung
Managed PostgreSQL-Datenbank einrichten
Managed PostgreSQL eignet sich besonders dann, wenn IoT-Workloads relationale Schemata, starke Konsistenz und erweiterte SQL-Analysen benötigen. Gleichzeitig übernimmt der Managed Service Aufgaben wie Backups, Monitoring und Wartung.
- Öffnen Sie im Cloud-Control-Panel den Datenbankbereich.
- Wählen Sie die Option zum Erstellen eines Datenbank-Clusters.
Konfigurieren Sie den PostgreSQL-Cluster für IoT-Automatisierung:
- Datenbank-Engine: PostgreSQL
- Version: Die aktuelle stabile Version
- Rechenzentrumsregion: Frankfurt oder dieselbe Region wie die VPC
- VPC-Netzwerk: Wählen Sie die zuvor erstellte VPC
- Name des Datenbank-Clusters: postgresql-coreflux-test
- Projekt: Wählen Sie das Zielprojekt aus
Wählen Sie einen Tarif passend zur Arbeitslast:
- Für Entwicklung: Ein Basistarif mit 1 GB RAM
- Für Produktion: Ein General-Purpose-Tarif oder höher für skalierbare Speicherung
Erstellen Sie den Datenbank-Cluster.
Die Einrichtung der Managed Database dauert meist 1 bis 5 Minuten. Nach Abschluss gelangen Sie zur Datenbankübersicht, in der Verbindungsdetails und Verwaltungsoptionen angezeigt werden.
PostgreSQL-Datenbankzugriff für die MQTT-Broker-Integration konfigurieren
In der Regel wird ein Einrichtungsassistent angezeigt, der Verbindungsinformationen bereitstellt und die Konfiguration eingehender Zugriffsregeln ermöglicht. Es wird empfohlen, den Zugriff auf Ihre IP-Adresse und das private Netzwerk zu beschränken.
- Öffnen Sie die Einstiegskonfiguration für die PostgreSQL-Datenbank
- Optional: Beschränken Sie eingehende Verbindungen
- Fügen Sie die IP-Adresse Ihres lokalen Computers für Verwaltungszugriff hinzu
- Die virtuelle Maschine wird üblicherweise über das private Netzwerk zugelassen
Meist stehen zwei Verbindungsoptionen zur Verfügung: Public Network und VPC Network. Der öffentliche Endpunkt ist für externe Werkzeuge wie DBeaver vorgesehen, während Coreflux den privaten VPC-Endpunkt verwenden sollte.
Notieren Sie die bereitgestellten Verbindungsdaten für öffentlichen und privaten Zugriff, da diese üblicherweise unterschiedlich sind:
- Host: Der Hostname der Datenbank
- Benutzer: Der standardmäßige administrative Benutzer
- Passwort: Ein automatisch generiertes sicheres Passwort
- Datenbank: Der Name der Authentifizierungsdatenbank
PostgreSQL-Anwendungsdatenbank und Benutzer erstellen (optional)
Für mehr Struktur und Sicherheit empfiehlt es sich, eine eigene Datenbank und einen eigenen Benutzer für die IoT-Automatisierungsanwendung anzulegen. Das ist über DBeaver oder die Kommandozeile möglich. Viele Cloud-Plattformen bieten dafür zusätzlich eine grafische Oberfläche.
- Öffnen Sie den Tab Users & Databases im Managed-Database-Cluster
- Erstellen Sie einen Benutzer:
- Benutzername: coreflux-broker-client
- Passwort: Automatisch generiert
- Erstellen Sie eine Datenbank:
- Datenbankname: coreflux-broker-data
Hinweis: Möglicherweise müssen Sie Benutzerberechtigungen anpassen, damit das Konto Tabellen erstellen sowie Daten einfügen und abfragen kann. In PostgreSQL vergeben Sie die erforderlichen Rechte mit:
GRANT CREATE, INSERT, SELECT ON DATABASE coreflux-broker-data TO coreflux-broker-client;
Für MySQL verwenden Sie:
GRANT CREATE, INSERT, SELECT ON coreflux-broker-data.* TO 'coreflux-broker-client'@'%';
Managed MySQL-Datenbank einrichten
Managed MySQL eignet sich für strukturierte und transaktionale IoT-Daten, wenn vertraute SQL-Syntax, breite Ökosystem-Unterstützung und ein Managed Service für Backups, Updates und Monitoring gewünscht sind.
- Öffnen Sie im Cloud-Control-Panel den Datenbankbereich.
- Wählen Sie die Option zum Erstellen eines Datenbank-Clusters.
Konfigurieren Sie den MySQL-Cluster für IoT-Automatisierung:
- Datenbank-Engine: MySQL
- Version: Die aktuelle stabile Version
- Rechenzentrumsregion: Frankfurt oder dieselbe Region wie Ihre VPC
- VPC-Netzwerk: Wählen Sie die erstellte VPC
- Name des Datenbank-Clusters: mysql-coreflux-test
- Projekt: Wählen Sie das vorgesehene Projekt aus
Wählen Sie einen Tarif passend zu Ihren IoT-Anforderungen:
- Für Entwicklung: Ein Basistarif mit 1 GB RAM
- Für Produktion: Ein General-Purpose-Tarif oder höher für skalierbare Speicherung
Erstellen Sie den Datenbank-Cluster.
Die Einrichtung der Managed Database dauert in der Regel 1 bis 5 Minuten. Danach zeigt die Übersichtsseite die Verbindungsdaten und Verwaltungsoptionen an.
MySQL-Datenbankzugriff für die MQTT-Broker-Integration konfigurieren
Üblicherweise wird ein Einrichtungsassistent angezeigt, der Verbindungsdaten bereitstellt und die Definition eingehender Zugriffsregeln ermöglicht. Beschränken Sie den Zugriff möglichst auf Ihre eigene IP-Adresse und das private Netzwerk.
- Öffnen Sie die Einstiegskonfiguration für die MySQL-Datenbank
- Optional: Beschränken Sie eingehende Verbindungen
- Fügen Sie Ihre lokale IP-Adresse für Verwaltungszugriff hinzu
- Die virtuelle Maschine sollte über das private Netzwerk zugelassen werden
Meist stehen zwei Verbindungsarten zur Verfügung: Public Network und VPC Network. Der öffentliche Zugriff ist für externe Tools wie DBeaver gedacht, während Coreflux den VPC-Endpunkt nutzen sollte.
Notieren Sie die Verbindungsdaten für öffentlichen und privaten Zugriff, da sie sich unterscheiden:
- Host: Der Hostname der Datenbank
- Benutzer: Der standardmäßige administrative Benutzer
- Passwort: Ein automatisch generiertes sicheres Passwort
- Datenbank: Der Name der Authentifizierungsdatenbank
MySQL-Anwendungsdatenbank und Benutzer erstellen (optional)
Für bessere Sicherheit und Organisation können Sie eine eigene Anwendungsdatenbank mit eigenem Benutzer erstellen. Dies ist über DBeaver oder die Kommandozeile möglich. Viele Plattformen stellen dafür außerdem eine einfache Oberfläche bereit.
- Öffnen Sie den Tab Users & Databases im Managed-Database-Cluster
- Erstellen Sie einen Benutzer:
- Benutzername: coreflux-broker-client
- Passwort: Automatisch generiert
- Erstellen Sie eine Datenbank:
- Datenbankname: coreflux-broker-data
Managed MongoDB-Datenbank einrichten
Managed MongoDB passt gut zu flexiblen oder wechselnden IoT-Payloads, da unterschiedliche Sensordokumente ohne starres Schema gespeichert werden können. Gleichzeitig verwaltet die Plattform Replikation, Backups und Monitoring.
Managed MongoDB Cluster erstellen
- Öffnen Sie im Cloud-Control-Panel den Datenbankbereich.
- Wählen Sie die Option zum Erstellen eines Datenbank-Clusters.
Konfigurieren Sie den MongoDB-Cluster für IoT-Automatisierung:
- Datenbank-Engine: MongoDB
- Version: Die aktuelle stabile Version
- Rechenzentrumsregion: Frankfurt oder dieselbe Region wie Ihre VPC
- VPC-Netzwerk: Wählen Sie die erstellte VPC
- Name des Datenbank-Clusters: mongodb-coreflux-test
- Projekt: Wählen Sie das Zielprojekt aus
Wählen Sie den Tarif passend zu den Workload-Anforderungen:
- Für Entwicklung: Ein Basistarif mit 1 GB RAM
- Für Produktion: Ein General-Purpose-Tarif oder höher für skalierbare Speicherung
Erstellen Sie den Datenbank-Cluster.
Die Bereitstellung der Managed Database dauert normalerweise 1 bis 5 Minuten. Sobald sie abgeschlossen ist, gelangen Sie zur Übersichtsseite mit Verbindungsinformationen und Verwaltungsoptionen.
MongoDB-Datenbankzugriff für die MQTT-Broker-Integration konfigurieren
Ein Einrichtungsassistent zeigt üblicherweise die Verbindungsdetails an und ermöglicht das Festlegen von Zugriffsbeschränkungen. Es wird empfohlen, den Zugriff auf Ihre IP-Adresse und das private Netzwerk zu begrenzen.
- Öffnen Sie die Einstiegskonfiguration für die MongoDB-Datenbank
- Optional: Beschränken Sie eingehende Verbindungen
- Fügen Sie die IP-Adresse Ihres lokalen Computers für Verwaltungszugriff hinzu
- Die virtuelle Maschine sollte automatisch über das private Netzwerk zugelassen werden
Bei den Verbindungsdetails stehen meist zwei Optionen zur Verfügung: Public Network und VPC Network. Der öffentliche Zugriff dient externen Werkzeugen wie MongoDB Compass, während Coreflux die private VPC-Verbindung nutzen sollte.
Notieren Sie die Verbindungsinformationen für öffentlichen und privaten Zugriff:
- Host: Der Hostname der Datenbank
- Benutzer: Der standardmäßige administrative Benutzer
- Passwort: Ein automatisch generiertes sicheres Passwort
- Datenbank: Der Name der Authentifizierungsdatenbank
MongoDB-Anwendungsdatenbank und Benutzer erstellen (optional)
Für bessere Struktur und höhere Sicherheit erstellen Sie eine eigene Anwendungsdatenbank und einen dedizierten Benutzer. Das ist über MongoDB Compass oder die Kommandozeile möglich. Viele Cloud-Plattformen bieten dafür zusätzlich eine einfachere Oberfläche.
- Öffnen Sie den Tab Users & Databases im Managed-Database-Cluster
- Erstellen Sie einen Benutzer:
- Benutzername: coreflux-broker-client
- Passwort: Automatisch generiert
- Erstellen Sie eine Datenbank:
- Datenbankname: coreflux-broker-data
Managed OpenSearch-Datenbank einrichten
Managed OpenSearch ist für Suche, Log-Analysen und Zeitreihen-Dashboards auf Basis großer IoT-Datenmengen vorgesehen. Der Dienst übernimmt dabei Cluster-Zustand, Skalierung und Indexspeicherung.
Managed OpenSearch Cluster erstellen
- Öffnen Sie im Cloud-Control-Panel den Datenbankbereich.
- Wählen Sie die Option zum Erstellen eines Datenbank-Clusters.
Konfigurieren Sie den OpenSearch-Cluster für IoT-Automatisierung:
- Datenbank-Engine: OpenSearch
- Version: Die aktuelle stabile Version
- Rechenzentrumsregion: Frankfurt oder dieselbe Region wie die VPC
- VPC-Netzwerk: Wählen Sie die zuvor erstellte VPC
- Name des Datenbank-Clusters: opensearch-coreflux-test
- Projekt: Wählen Sie das Zielprojekt aus
Wählen Sie einen Tarif passend zu Ihren IoT-Anforderungen:
- Für Entwicklung: Ein Basistarif mit 1 GB RAM
- Für Produktion: Ein General-Purpose-Tarif oder höher für skalierbare Speicherung
Erstellen Sie den Datenbank-Cluster.
Die Erstellung der Managed Database dauert üblicherweise 1 bis 5 Minuten. Nach Abschluss zeigt die Übersichtsseite Verbindungsdaten und Verwaltungsoptionen an.
OpenSearch-Datenbankzugriff für die MQTT-Broker-Integration konfigurieren
Meist führt ein Einrichtungsassistent durch die ersten Schritte, zeigt Verbindungsdaten an und ermöglicht die Konfiguration eingehender Zugriffsregeln. Beschränken Sie den Zugriff möglichst auf Ihre eigene IP-Adresse und das private Netzwerk.
- Öffnen Sie die Einstiegskonfiguration für die OpenSearch-Datenbank
- Optional: Beschränken Sie eingehende Verbindungen
- Fügen Sie Ihre lokale IP-Adresse für Verwaltungszugriff hinzu
- Die virtuelle Maschine sollte über das private Netzwerk zugelassen werden
Bei den Verbindungsdetails werden meist zwei Endpunkte angezeigt: Public Network und VPC Network. Der öffentliche Zugriff ist für externe Werkzeuge gedacht, während der Coreflux-Dienst den VPC-Endpunkt verwenden sollte. Zusätzlich erhalten Sie die URL und Parameter für den Zugriff auf OpenSearch Dashboards.
Notieren Sie die Verbindungsinformationen für öffentlichen und privaten Zugriff:
- Host: Der Hostname der Datenbank
- Benutzer: Der standardmäßige administrative Benutzer
- Passwort: Ein automatisch generiertes sicheres Passwort
- Datenbank: Der Name der Authentifizierungsdatenbank
Coreflux MQTT Broker auf einer Cloud VM bereitstellen
Cloud-VM erstellen
- Navigieren Sie im Cloud-Control-Panel zum Bereich für virtuelle Maschinen oder Compute-Instanzen.
- Wählen Sie die Option zum Erstellen einer neuen virtuellen Maschine.
Konfigurieren Sie die Instanz für die MQTT-Broker-Bereitstellung:
- Region auswählen: Frankfurt oder dieselbe Region wie die Managed Database
- VPC-Netzwerk: Wählen Sie coreflux-integrations-vpc
- Image auswählen: Öffnen Sie den Marketplace-Bereich
- Suchen Sie nach Coreflux und wählen Sie das Coreflux Marketplace Image aus
Wählen Sie die Instanzgröße passend zur Arbeitslast:
- Für Entwicklung: Ein Basistarif mit 2 GB Arbeitsspeicher
- Für Produktion: Ein Basis- oder General-Purpose-Tarif mit mindestens 4 GB RAM für skalierbare Leistung
Wählen Sie die Authentifizierungsmethode:
- SSH Key: Für höhere Sicherheit empfohlen
- Sie können lokal mit
ssh-keygeneinen Schlüssel erzeugen
- Sie können lokal mit
- Passwort: Alternative Option
Schließen Sie die Details ab:
- Hostname: coreflux-test-broker
- Projekt: Wählen Sie Ihr Projekt aus
- Tags: Fügen Sie passende Tags zur Organisation hinzu
Erstellen Sie die virtuelle Maschine.
Öffnen Sie die Übersichtsseite der Instanz und warten Sie, bis die Bereitstellung abgeschlossen ist.
Alternative – Coreflux MQTT Broker mit Docker installieren
Statt das Coreflux Marketplace Image zu verwenden, können Sie auch ein Docker-fähiges Marketplace Image auswählen und Coreflux manuell bereitstellen.
Sobald die Instanz läuft, verbinden Sie sich über SSH mit der gewählten Authentifizierungsmethode oder über die Webkonsole auf der Instanzseite:
ssh root@your-server-ip
Starten Sie den Coreflux MQTT Broker in Docker:
docker run -d \
--name coreflux \
-p 1883:1883 \
-p 1884:1884 \
-p 5000:5000 \
-p 443:443 \
coreflux/coreflux-mqtt-broker-t:1.6.3
Dieser Docker-Befehl:
- Startet den Container im Hintergrund mit
-d - Vergibt den Namen
corefluxfür den Container - Veröffentlicht die erforderlichen Ports für MQTT und die Weboberfläche
- Verwendet die im Befehl angegebene Coreflux-Image-Version
Prüfen Sie, ob der MQTT Broker läuft:
docker ps
Sie sollten einen laufenden Container sehen.
MQTT-Broker-Bereitstellung prüfen
Sie können den Zugriff auf den MQTT Broker mit einem Client wie MQTT Explorer testen, unabhängig davon, ob Sie ihn über ein Marketplace Image oder Docker bereitgestellt haben.
Firewall Regeln für sichere IoT Kommunikation konfigurieren (optional)
Für produktive IoT-Automatisierungsumgebungen sollten Firewall-Regeln eingerichtet werden, damit der Zugriff eingeschränkt bleibt.
- Öffnen Sie den Netzwerkbereich und navigieren Sie zu Firewalls.
- Erstellen Sie eine neue Firewall.
Konfigurieren Sie eingehende Regeln für die MQTT-Broker-Sicherheit:
- SSH: Port 22 von Ihrer IP-Adresse
- MQTT: Port 1883 von freigegebenen IoT-Anwendungsquellen
- MQTT mit TLS: Port 1884 für sicheres MQTT über TLS
- WebSocket: Port 5000 für MQTT über WebSocket
- WebSocket mit TLS: Port 443 für MQTT über WebSocket mit TLS-Absicherung
Wenden Sie die Firewall auf die virtuelle Maschine an.
Produktionstipp: Beschränken Sie den Zugriff auf Port 1883 auf konkrete Quell-IP-Adressen oder VPC-Bereiche und bevorzugen Sie Port 1884 für externe Geräteverbindungen. Wenn zusätzliche Sicherheitsebenen benötigt werden, nutzen Sie private Netzwerke und kontrollierte Zugriffspfade wie VPNs oder Bastion Hosts.
IoT Datenintegration mit Coreflux Language of Things einrichten
LoT Notebook Extension installieren
Die LoT Notebook Extension für Visual Studio Code stellt eine integrierte Low-Code-Entwicklungsumgebung für MQTT-Broker-Programmierung und IoT-Automatisierung bereit.
- Öffnen Sie Visual Studio Code.
- Gehen Sie mit
Ctrl+Shift+Xzu den Erweiterungen. - Suchen Sie nach LoT Notebooks.
- Installieren Sie die LoT VSCode Notebooks Extension von Coreflux.
Verbindung zum MQTT Broker herstellen
Konfigurieren Sie die Verbindung zum Coreflux MQTT Broker mit den Standardzugangsdaten, wenn Sie in der oberen Leiste dazu aufgefordert werden, oder nutzen Sie den MQTT-Button in der unteren linken Leiste:
- Benutzer: root
- Passwort: coreflux
Wenn die Verbindung erfolgreich ist, zeigt die Statusleiste unten links den MQTT-Verbindungsstatus für den Broker an.
Daten im MQTT Broker über Actions erzeugen
In diesem Szenario soll eine Integration aufgebaut werden, die Rohdaten durch eine Transformationspipeline verarbeitet und anschließend in einer Datenbank speichert. Da die Demonstration nicht mit physischen MQTT-Geräten verbunden ist, kann LoT verwendet werden, um Gerätedaten über eine Action zu simulieren.
In LoT ist eine Action ausführbare Logik, die durch Ereignisse wie Zeitintervalle, Topic-Aktualisierungen oder explizite Aufrufe anderer Actions oder Systemkomponenten ausgelöst wird. Actions ermöglichen die dynamische Interaktion mit MQTT Topics, internen Variablen und Payloads und unterstützen dadurch erweiterte IoT-Automatisierungsabläufe.
Eine Action kann also Daten in ausgewählten Topics in einem definierten Zeitintervall erzeugen. Diese Daten werden anschließend von der weiteren Pipeline verarbeitet.
Simulierte IoT-Daten erzeugen
Erstellen Sie eine Action, die simulierte Sensordaten über die Low-Code-LoT-Oberfläche generiert:
DEFINE ACTION RANDOMIZEMachineData
ON EVERY 10 SECONDS DO
PUBLISH TOPIC "raw_data/machine1" WITH RANDOM BETWEEN 0 AND 10
PUBLISH TOPIC "raw_data/station2" WITH RANDOM BETWEEN 0 AND 60
Das Notebook enthält außerdem eine Action, die alternativ zum gezeigten Zufallsgenerator einen steigenden Zähler zur Datensimulation nutzt.
Wenn Sie diese Action ausführen, geschieht Folgendes:
- Sie wird automatisch auf dem MQTT Broker bereitgestellt
- Sie erzeugt alle 10 Sekunden simulierte IoT-Sensorwerte
- Sie veröffentlicht Echtzeitdaten in bestimmten MQTT Topics
- Sie zeigt den Synchronisationsstatus in der LoT Notebook Oberfläche an
Dieser Status zeigt, ob sich der Code im LoT Notebook vom aktuell im Broker laufenden Code unterscheidet oder ob er noch nicht bereitgestellt wurde.
Datentransformationsmodelle für Echtzeitverarbeitung erstellen
Datenmodelle mit Language of Things definieren
In Coreflux werden Models genutzt, um Werte aus MQTT-Eingangstopics zu transformieren, zu aggregieren und zu berechnen. Anschließend werden die Ergebnisse in neue Topics veröffentlicht. Models bilden die Grundlage für den Aufbau des Unified Namespace, kurz UNS, eines Systems und können auf mehrere Datenquellen angewendet werden.
Ein Model legt fest, wie rohe IoT-Daten strukturiert und transformiert werden sollen. Das kann für ein einzelnes Gerät oder für viele Geräte gleichzeitig über das Wildcard-Zeichen + erfolgen. Gleichzeitig dient ein Model als Schlüsselschema für die skalierbare Speicherung in der Managed Database.
DEFINE MODEL MachineData WITH TOPIC "Simulator/Machine/+/Data"
ADD "energy" WITH TOPIC "raw_data/+" AS TRIGGER
ADD "energy_wh" WITH (energy * 1000)
ADD "production_status" WITH (IF energy > 5 THEN "active" ELSE "inactive")
ADD "production_count" WITH (IF production_status EQUALS "active" THEN (production_count + 1) ELSE 0)
ADD "stoppage" WITH (IF production_status EQUALS "inactive" THEN 1 ELSE 0)
ADD "maintenance_alert" WITH (IF energy > 50 THEN TRUE ELSE FALSE)
ADD "timestamp" WITH TIMESTAMP "UTC"
Dieses Low-Code-Model:
- Nutzt das Wildcard-Zeichen
+, sodass dieselbe Logik automatisch auf alle Maschinen angewendet wird - Rechnet Energiewerte durch Multiplikation mit 1000 in Wattstunden um
- Legt den Produktionsstatus anhand von Energieschwellenwerten fest
- Erfasst Produktionszähler und Stillstandsereignisse
- Ergänzt Zeitstempel zu jedem Echtzeit-Datenpunkt
- Extrahiert die Gerätekennung aus der Topic-Struktur
- Veröffentlicht strukturierte Daten in den
Simulator/Machine/DataTopics, indem das Wildcard-Zeichen durch jedes passende Quelltopic ersetzt wird
Da die Action zwei simulierte Sensoren oder Maschinen erzeugt, wird die Struktur automatisch auf beide angewendet. Dabei entstehen sowohl ein JSON-Objekt als auch einzelne separate Topics.
Datenbankintegration für skalierbare Speicherung einrichten
Nutzen Sie den Abschnitt zur Datenbankintegration, der zur in Schritt 2 ausgewählten Datenbank passt.
PostgreSQL-Integration
In diesem Abschnitt konfigurieren Sie die Speicherung verarbeiteter IoT-Daten in einer Managed PostgreSQL-Datenbank.
Um verarbeitete IoT-Daten in PostgreSQL zu speichern, definieren Sie in Coreflux eine Route. Routes beschreiben, wie Daten vom MQTT Broker zum PostgreSQL-Cluster übertragen werden. Dafür wird eine einfache Low-Code-Konfiguration verwendet:
DEFINE ROUTE PostgreSQL_Log WITH TYPE POSTGRESQL
ADD SQL_CONFIG
WITH SERVER "db-postgresql.db.onmyserver.com"
WITH PORT 25060
WITH DATABASE "defaultdb"
WITH USERNAME "doadmin"
WITH PASSWORD "AVNS_pass"
WITH USE_SSL TRUE
WITH TRUST_SERVER_CERTIFICATE FALSE
Ersetzen Sie diese Platzhalter durch Ihre tatsächlichen PostgreSQL-Verbindungsdaten und führen Sie die Route aus dem LoT Notebook aus. Wichtig: Nutzen Sie für höhere Sicherheit und geringere Latenz die privaten VPC-Verbindungsdaten statt des öffentlichen Endpunkts. VPC-Hostname und Port unterscheiden sich häufig vom öffentlichen Connection String. Prüfen Sie daher beide Varianten in den Verbindungsdetails des Datenbank-Clusters.
Model für PostgreSQL-Datenspeicherung aktualisieren
Erweitern Sie das LoT Model so, dass es die Datenbankroute für skalierbare Speicherung nutzt. Ergänzen Sie dazu am Ende des Models folgende Zeilen:
STORE IN "PostgreSQL_Log"
WITH TABLE "MachineProductionData"
Fügen Sie außerdem einen Parameter auf Basis des Topics hinzu, damit jede Zeile in der Managed Database eine eindeutige Kennung enthält.
DEFINE MODEL MachineData WITH TOPIC "Simulator/Machine/+/Data"
ADD "energy" WITH TOPIC "raw_data/+" AS TRIGGER
ADD "device_name" WITH REPLACE "+" WITH TOPIC POSITION 2 IN "+"
ADD "energy_wh" WITH (energy * 1000)
ADD "production_status" WITH (IF energy > 5 THEN "active" ELSE "inactive")
ADD "production_count" WITH (IF production_status EQUALS "active" THEN (production_count + 1) ELSE 0)
ADD "stoppage" WITH (IF production_status EQUALS "inactive" THEN 1 ELSE 0)
ADD "maintenance_alert" WITH (IF energy > 50 THEN TRUE ELSE FALSE)
ADD "timestamp" WITH TIMESTAMP "UTC"
STORE IN "PostgreSQL_Log"
WITH TABLE "MachineProductionData"
Nachdem dieses aktualisierte Model bereitgestellt wurde, sollten alle neuen Daten automatisch in der Datenbank gespeichert werden, sobald sie sich ändern.
MySQL-Integration
MySQL zählt zu den am weitesten verbreiteten relationalen Datenbanksystemen und ist daher eine starke Option für die Speicherung und Analyse von IoT-Daten in größerem Umfang. In diesem Abschnitt wird der Coreflux MQTT Broker mit einer Managed MySQL-Datenbank verbunden, damit Echtzeit-Gerätedaten sicher und zuverlässig für Reporting, Analysen und Anwendungsintegrationen gespeichert werden können.
Definieren Sie zur Aktivierung der Integration eine Route in Coreflux LoT. Diese beschreibt, wohin und wie verarbeitete Daten übertragen werden. Verwenden Sie die folgende Low-Code-Struktur und ersetzen Sie die Platzhalter durch Ihre eigenen Verbindungsdaten:
DEFINE ROUTE MySQL_Log WITH TYPE MYSQL
ADD SQL_CONFIG
WITH SERVER "db-mysql.db.onmyserver.com"
WITH PORT 25060
WITH DATABASE "defaultdb"
WITH USERNAME "doadmin"
WITH PASSWORD "AVNS_pass"
WITH USE_SSL TRUE
WITH TRUST_SERVER_CERTIFICATE FALSE
Ersetzen Sie diese Werte durch Ihre tatsächlichen MySQL-Verbindungsdaten und führen Sie die Route im LoT Notebook aus. Wichtig: Verwenden Sie für bessere Sicherheit und geringere Latenz den privaten VPC-Endpunkt statt des öffentlichen Endpunkts. Falls Verbindungsprobleme auftreten, prüfen Sie die Einstellung TRUST_SERVER_CERTIFICATE, da einige MySQL-Versionen TRUE benötigen, während andere korrekt mit FALSE funktionieren.
Model für MySQL-Datenspeicherung aktualisieren
Passen Sie das LoT Model so an, dass es die MySQL-Route für skalierbare Speicherung verwendet. Ergänzen Sie am Ende des Models:
STORE IN "MySQL_Log"
WITH TABLE "MachineProductionData"
Fügen Sie außerdem einen topicbasierten Parameter hinzu, damit jeder Datensatz in der Datenbank eine eindeutige Kennung besitzt.
DEFINE MODEL MachineData WITH TOPIC "Simulator/Machine/+/Data"
ADD "energy" WITH TOPIC "raw_data/+" AS TRIGGER
ADD "device_name" WITH REPLACE "+" WITH TOPIC POSITION 2 IN "+"
ADD "energy_wh" WITH (energy * 1000)
ADD "production_status" WITH (IF energy > 5 THEN "active" ELSE "inactive")
ADD "production_count" WITH (IF production_status EQUALS "active" THEN (production_count + 1) ELSE 0)
ADD "stoppage" WITH (IF production_status EQUALS "inactive" THEN 1 ELSE 0)
ADD "maintenance_alert" WITH (IF energy > 50 THEN TRUE ELSE FALSE)
ADD "timestamp" WITH TIMESTAMP "UTC"
STORE IN "MySQL_Log"
WITH TABLE "MachineProductionData"
Nach dem Bereitstellen dieses aktualisierten Models sollten alle eingehenden Daten automatisch in die Datenbank geschrieben werden, sobald neue Aktualisierungen eintreffen.
MongoDB-Integration
MongoDB ist eine NoSQL-Datenbank, die besonders nützlich ist, wenn IoT-Daten mit flexiblen Schemata gespeichert und abgefragt werden sollen. In diesem Abschnitt wird der Coreflux MQTT Broker mit einer Managed MongoDB-Datenbank verbunden, damit Echtzeit-Gerätedaten sicher und zuverlässig für Reporting, Analysen und weitere Systemintegrationen gespeichert werden können.
Zur Aktivierung der Integration definieren Sie in Coreflux LoT eine Route, die festlegt, wohin und wie verarbeitete Daten gesendet werden. Verwenden Sie das folgende Low-Code-Format und ersetzen Sie die Platzhalter durch Ihre eigenen Verbindungsdaten:
DEFINE ROUTE mongo_route WITH TYPE MONGODB
ADD MONGODB_CONFIG
WITH CONNECTION_STRING "mongodb+srv://:@/?tls=true&authSource=admin&replicaSet="
WITH DATABASE "admin"
Ersetzen Sie die Platzhalter durch Ihre MongoDB-Verbindungsdaten und führen Sie die Route im LoT Notebook aus. Wichtig: Nutzen Sie das VPC-Connection-String-Format, sofern es verfügbar ist. Der Connection String sollte tls=true und authSource=admin enthalten.
Model für MongoDB-Datenspeicherung aktualisieren
Passen Sie das LoT Model so an, dass es die MongoDB-Route für skalierbare Speicherung verwendet. Ergänzen Sie am Ende des Models:
STORE IN "mongo_route"
WITH TABLE "MachineProductionData"
Fügen Sie außerdem einen Parameter aus dem Topic hinzu, damit jedes Dokument in der Managed Database eine eindeutige Kennung enthält.
DEFINE MODEL MachineData WITH TOPIC "Simulator/Machine/+/Data"
ADD "energy" WITH TOPIC "raw_data/+" AS TRIGGER
ADD "device_name" WITH REPLACE "+" WITH TOPIC POSITION 2 IN "+"
ADD "energy_wh" WITH (energy * 1000)
ADD "production_status" WITH (IF energy > 5 THEN "active" ELSE "inactive")
ADD "production_count" WITH (IF production_status EQUALS "active" THEN (production_count + 1) ELSE 0)
ADD "stoppage" WITH (IF production_status EQUALS "inactive" THEN 1 ELSE 0)
ADD "maintenance_alert" WITH (IF energy > 50 THEN TRUE ELSE FALSE)
ADD "timestamp" WITH TIMESTAMP "UTC"
STORE IN "mongo_route"
WITH TABLE "MachineProductionData"
Nach der Bereitstellung dieses aktualisierten Models sollten alle neuen Daten automatisch in der Datenbank gespeichert werden, sobald sie sich ändern.
OpenSearch-Integration
OpenSearch ist eine verteilte Such- und Analyse-Engine für groß angelegte Verarbeitung und Echtzeitanalyse von Daten. In diesem Abschnitt wird der Coreflux MQTT Broker mit einer Managed OpenSearch-Datenbank verbunden, damit Echtzeit-Gerätedaten zuverlässig für Reporting, Analysen und weitere Systemintegrationen gespeichert werden können.
Zur Aktivierung dieser Integration definieren Sie in Coreflux LoT eine Route, die der Plattform mitteilt, wohin und wie verarbeitete Daten gesendet werden sollen. Verwenden Sie die folgende Low-Code-Struktur und ersetzen Sie die Platzhalter durch Ihre eigenen Werte:
DEFINE ROUTE OpenSearch_log WITH TYPE OPENSEARCH
ADD OPENSEARCH_CONFIG
WITH BASE_URL "https://my-opensearch-cluster:9200"
WITH USERNAME "myuser"
WITH PASSWORD "mypassword"
WITH USE_SSL TRUE
WITH IGNORE_CERT_ERRORS FALSE
Ersetzen Sie diese Werte durch Ihre eigenen OpenSearch-Verbindungsdaten und führen Sie die Route im LoT Notebook aus. Wichtig: Nutzen Sie nach Möglichkeit die private VPC Base URL statt des öffentlichen Endpunkts. Das Format der Base URL lautet üblicherweise https://your-cluster-hostname:9200. Für den Zugriff auf OpenSearch Dashboards verwenden Sie die separate Dashboards-URL aus den Cluster-Details.
Model für OpenSearch-Datenspeicherung aktualisieren
Passen Sie das LoT Model so an, dass es die OpenSearch-Route für skalierbare Speicherung nutzt. Ergänzen Sie am Ende des Models folgende Zeilen:
STORE IN "OpenSearch_Log"
WITH TABLE "MachineProductionData"
Fügen Sie außerdem einen topicbasierten Parameter hinzu, damit jeder Eintrag in der Managed Database eine eindeutige Kennung enthält.
DEFINE MODEL MachineData WITH TOPIC "Simulator/Machine/+/Data"
ADD "energy" WITH TOPIC "raw_data/+" AS TRIGGER
ADD "device_name" WITH REPLACE "+" WITH TOPIC POSITION 2 IN "+"
ADD "energy_wh" WITH (energy * 1000)
ADD "production_status" WITH (IF energy > 5 THEN "active" ELSE "inactive")
ADD "production_count" WITH (IF production_status EQUALS "active" THEN (production_count + 1) ELSE 0)
ADD "stoppage" WITH (IF production_status EQUALS "inactive" THEN 1 ELSE 0)
ADD "maintenance_alert" WITH (IF energy > 50 THEN TRUE ELSE FALSE)
ADD "timestamp" WITH TIMESTAMP "UTC"
STORE IN "OpenSearch_Log"
WITH TABLE "MachineProductionData"
Nach dem Bereitstellen dieses aktualisierten Models sollten alle Daten automatisch in der Datenbank gespeichert werden, sobald neue Aktualisierungen eintreffen.
Vollständige IoT Automatisierungspipeline prüfen
Echtzeit-Datenfluss überwachen
- MQTT Explorer: Verwenden Sie einen MQTT Client, um zu prüfen, ob Echtzeitdaten veröffentlicht werden
- Datenbank-Client: Stellen Sie eine Verbindung her, um zu prüfen, ob die Daten gespeichert werden, zum Beispiel mit DBeaver für PostgreSQL, MongoDB Compass für MongoDB oder OpenSearch Dashboards für OpenSearch
PostgreSQL-Speicherung prüfen
Verbinden Sie sich über DBeaver mit der Managed PostgreSQL-Datenbank, um die skalierbare Speicherung zu prüfen:
- Nutzen Sie den vom Datenbankdienst bereitgestellten Connection String
- Öffnen Sie die Datenbank
coreflux-broker-dataoder den von Ihnen vergebenen Namen - Prüfen Sie die Tabelle
MachineProductionDataauf gespeicherte Datensätze
Wie zuvor gezeigt, bleiben alle Daten zusätzlich im MQTT Broker verfügbar und können für weitere Integrationen oder nachgelagerte Anwendungsfälle genutzt werden.
MongoDB-Speicherung prüfen
Verbinden Sie sich über MongoDB Compass mit der Managed MongoDB-Datenbank, um die skalierbare Speicherung zu prüfen:
- Verwenden Sie den vom Datenbankdienst bereitgestellten Connection String
- Öffnen Sie die Datenbank
coreflux-broker-dataoder den von Ihnen vergebenen Namen - Prüfen Sie die Collection
MachineProductionDataauf gespeicherte Dokumente
Sie sollten Echtzeit-Datendokumente mit einer ähnlichen Struktur sehen:
{
"_id": {
"$oid": "68626dc3e8385cbe9a1666c3"
},
"energy": 36,
"energy_wh": 36000,
"production_status": "active",
"production_count": 31,
"stoppage": 0,
"maintenance_alert": false,
"timestamp": "2025-06-30 10:58:11",
"device_name": "station2"
}
Wie zuvor gezeigt, stehen alle Daten weiterhin auch im MQTT Broker für zusätzliche Integrationen und nachgelagerte Prozesse bereit.
MySQL-Speicherung prüfen
Verbinden Sie sich mit DBeaver mit der Managed MySQL-Datenbank, um die skalierbare Speicherung zu prüfen:
- Nutzen Sie den vom Datenbankdienst bereitgestellten Connection String
- Öffnen Sie die Datenbank
coreflux-broker-dataoder den von Ihnen ausgewählten Datenbanknamen - Prüfen Sie die Tabelle
MachineProductionDataauf gespeicherte Datensätze
Wie bei den anderen Integrationen stehen dieselben Daten weiterhin auch im MQTT Broker für weitere Nutzung und nachgelagerte Integrationen bereit.
OpenSearch-Speicherung prüfen
Öffnen Sie OpenSearch Dashboards mit der bereitgestellten URL und den Zugangsdaten:
- Öffnen Sie das Menü und wählen Sie Index Management
- Wählen Sie die Option Indexes und prüfen Sie, ob Ihr Tabellenname in der Liste erscheint
- Kehren Sie zur Startseite zurück und öffnen Sie im Menü Discover
- Erstellen Sie ein Index Pattern, indem Sie den angezeigten Schritten folgen
- Kehren Sie zur Discover-Seite zurück und prüfen Sie, ob Ihre Daten sichtbar sind
Wie zuvor gezeigt, sind alle Daten zusätzlich im MQTT Broker für weitere Integrationen und zusätzliche Anwendungsfälle verfügbar.
Use Case und Integrationen erweitern
LoT-Funktionen testen
- Beispieldaten veröffentlichen: Verwenden Sie MQTT Explorer, um Beispiel-Payloads an den Coreflux Broker zu senden. Testen Sie unterschiedliche Payload-Strukturen und experimentieren Sie mit mehreren Models und Actions, um zu beobachten, wie Daten transformiert und in der ausgewählten Datenbank gespeichert werden.
- Datenvalidierung: Prüfen Sie, ob die in der Datenbank gespeicherten Daten mit den veröffentlichten Payloads übereinstimmen. Nutzen Sie Ihren Datenbank-Client, beispielsweise DBeaver für PostgreSQL, MongoDB Compass für MongoDB oder OpenSearch Dashboards für OpenSearch, um Genauigkeit und Konsistenz zu bestätigen. Vergleichen Sie Zeitstempel, transformierte Felder und Datentypen, um die Echtzeit-Datenpipeline zu validieren.
- Echtzeit-Monitoring: Erstellen Sie einen kontinuierlichen Live-Datenstrom mit einer weiteren MQTT-Quelle, zum Beispiel einem einfachen MQTT-fähigen Sensor. Beobachten Sie, wie Coreflux und die Datenbank eingehende IoT-Streams verarbeiten, und bewerten Sie Reaktionszeiten für Abruf- und Abfrageprozesse.
Analysen und Visualisierungen aufbauen
- Dashboards erstellen: Binden Sie Visualisierungstools wie Grafana ein, um Dashboards zu erstellen, die IoT-Daten aus Live-MQTT-Topics und historischen Datenbankabfragen anzeigen. Überwachen Sie Kennzahlen wie Geräteverfügbarkeit, Sensormesswerte, Produktionszähler oder Wartungsalarme. Für Echtzeit-Dashboards abonnieren Sie direkt MQTT Topics. Für langfristige Trends und aggregierte Ansichten fragen Sie die Datenbank ab.
- Trendanalyse: Nutzen Sie die Funktionen Ihrer gewählten Datenbank, um Entwicklungen über die Zeit zu analysieren:
- PostgreSQL: Verwenden Sie SQL-Abfragen für komplexe relationale Analysen
- MongoDB: Nutzen Sie das Aggregation Framework für dokumentorientierte Auswertungen
- OpenSearch: Verwenden Sie integrierte Such- und Analysefunktionen für Volltext- und Zeitreihenanalysen
- Multi-Database-Integration: Prüfen Sie den gleichzeitigen Einsatz mehrerer Managed Databases, zum Beispiel MongoDB für unstrukturierte Daten, PostgreSQL für relationale Daten, MySQL für strukturierte Abfrage-Workloads oder OpenSearch für erweiterte Analysen und Suche. Coreflux Routes können Daten parallel an mehrere Ziele senden.
IoT-Infrastruktur optimieren und skalieren
- Lasttests: Simulieren Sie hohe Last, indem Sie über das LoT Notebook oder automatisierte Skripte viele Nachrichten gleichzeitig veröffentlichen. Überwachen Sie, wie Coreflux MQTT Broker und Datenbank-Cluster auf die Last reagieren, und identifizieren Sie Engpässe in der Datenpipeline.
- Skalierung: Cloud-Plattformen bieten üblicherweise vertikale und horizontale Skalierungsoptionen. Erhöhen Sie Ressourcen der virtuellen Maschine wie CPU, RAM oder Storage, wenn das IoT-Datenvolumen wächst. Skalieren Sie den Managed-Database-Cluster für größere Datenmengen und konfigurieren Sie Benachrichtigungen, damit Sie vor dem Erreichen von Ressourcengrenzen informiert werden.
Häufig gestellte Fragen
1. Wie integriere ich einen Coreflux MQTT Broker mit einer Managed Database?
Sie integrieren einen Coreflux MQTT Broker mit einer Managed Database, indem Sie in LoT eine Route definieren, die auf den Zielservice verweist, beispielsweise PostgreSQL, MySQL, MongoDB oder OpenSearch. Jede Route enthält die passenden Verbindungsparameter wie Server oder Connection String, Port, Datenbankname, Benutzername, Passwort sowie SSL- oder TLS-Einstellungen. Danach schreibt sie MQTT-Nachrichten-Payloads automatisch in Tabellen, Collections oder Indizes. Nachdem die Route definiert wurde, verbinden Sie sie über die Anweisung STORE IN mit einem Model, damit jede verarbeitete Nachricht in der ausgewählten Datenbank gespeichert wird.
2. Kann ich MQTT-Daten direkt in Datenbanken speichern, ohne eigenen Integrationscode zu schreiben?
Ja. Coreflux ist als Low-Code-Integrationsschicht konzipiert, sodass keine eigene Anwendungslogik und keine separaten ETL-Jobs erforderlich sind, nur um Daten dauerhaft zu speichern. Für jeden Datenbanktyp konfigurieren Sie eine LoT Route wie PostgreSQL_Log, MySQL_Log, mongo_route oder OpenSearch_Log und erweitern anschließend das Model mit STORE IN "<route_name>" WITH TABLE "MachineProductionData". Coreflux übernimmt Connection Pooling, Wiederholungen und Fehlerbehandlung, sodass der Fokus auf Datenmodellierung und Transformation statt auf wiederkehrendem Integrationscode liegt.
3. Welche Managed Database sollte ich für MQTT-IoT-Datenspeicherung wählen?
Die passende Managed Database hängt von der Struktur Ihrer Daten, den benötigten Abfragen und Ihren Analysezielen ab. Die folgende Übersicht dient als Orientierung:
| Datenbank | Am besten geeignet für | Beispielhafte Anwendungsfälle |
|---|---|---|
| PostgreSQL | Starke Konsistenz, relationale Schemata, komplexe SQL-Abfragen | Industrielle Sensornetzwerke, transaktionale Events, Analysen |
| MySQL | Relationale Daten, strukturierte Abfragen, breite Kompatibilität | Inventarsysteme, Produktionskennzahlen, klassische Geschäftsdaten |
| MongoDB | Flexible, sich entwickelnde Schemata und Dokumentenspeicherung | Vernetzte Geräte mit variablen Payloads, IoT-Telemetrie mit wechselnden Strukturen |
| OpenSearch | Volltextsuche, Analysen, Dashboards und Log-Indexierung | Zeitreihenanalysen, Monitoring, Event Logs, IoT-Suche und Visualisierung |
Tipp: Mehrere Managed-Datenbanken können parallel angebunden werden, indem separate Coreflux-Routen eingerichtet werden. Dadurch kann derselbe MQTT-Datenstrom strukturierte IoT-Daten an PostgreSQL oder MySQL senden, Logs und Metriken an OpenSearch weiterleiten sowie unstrukturierte oder schemafreie Daten in MongoDB speichern.
4. Wie unterstützt diese Architektur sowohl Echtzeit- als auch historische Analysen?
Coreflux hält verarbeitete Werte auf MQTT Topics für Live-Nutzung, Dashboards oder zusätzliche Datenpipelines bereit. Gleichzeitig speichern Routes dieselben modellierten Daten in Datenbanken für historische Abfragen. Praktisch bedeutet das: Topics können für sofortige Reaktionen wie Alarme oder Steuerkreise abonniert werden, während PostgreSQL, MySQL, MongoDB oder OpenSearch für Trends, Aggregationen und Langzeitanalysen abgefragt werden können. Dieses Zwei-Wege-Design entspricht einer typischen IoT-Architektur, bei der der Broker Live-Messaging übernimmt und die Datenbank dauerhafte Speicherung und Analyse bereitstellt.
5. Wie sicher ist die Verbindung zwischen Coreflux und Managed Databases?
Bei einer Bereitstellung in einer Cloud-Umgebung kann private VPC-Vernetzung genutzt werden, damit die Kommunikation zwischen Coreflux MQTT Broker und Datenbanken intern bleibt. Dadurch werden Ressourcen vor direkter öffentlicher Internetexponierung geschützt. Managed Databases unterstützen üblicherweise TLS-verschlüsselte Verbindungen. Zusätzlich können dedizierte Datenbankbenutzer mit eingeschränkten Berechtigungen für die Coreflux-Anwendung erstellt werden, wodurch das Prinzip der minimal erforderlichen Rechte unterstützt wird.
6. Ist dieses Setup für produktive IoT-Bereitstellungen geeignet?
Ja. Diese Architektur folgt Mustern, die häufig in produktiven MQTT- und Datenbankintegrationen eingesetzt werden. Dabei steht ein Broker vor dem Geräteverkehr, während eine Managed-Database-Schicht Dauerhaftigkeit und Analysen bereitstellt. Managed Databases bieten üblicherweise automatische Backups, Hochverfügbarkeit und Monitoring. Der Coreflux MQTT Broker kann horizontal skaliert werden, um hohen Nachrichtendurchsatz zu unterstützen. In produktiven Umgebungen sollten zusätzlich Firewall-Regeln, starke Zugangsdaten, TLS für MQTT und Datenbankzugriff sowie korrekt dimensionierte virtuelle Maschinen und Datenbank-Cluster Teil der Bereitstellung sein.
7. Kann ich den MQTT Broker ohne öffentlichen Internetzugang oder in hybriden Umgebungen betreiben?
Ja. MQTT Broker werden häufig in privaten Netzwerken oder Edge-Umgebungen betrieben. MQTT funktioniert auch ohne öffentlichen Internetzugang, solange Clients den Broker erreichen können. In einer Cloud-Umgebung können Coreflux und die Datenbanken innerhalb einer VPC verbleiben, wobei nur die minimal erforderlichen Dienste freigegeben werden, zum Beispiel VPN, Bastion Host oder eng eingeschränkte Firewall-Regeln. Ausgewählte Topics können außerdem mit anderen Brokern oder Cloud-Regionen synchronisiert werden, wenn hybride oder standortübergreifende Architekturen benötigt werden.
8. Gibt es Einschränkungen oder Kompromisse beim Einsatz von MQTT mit Datenbanken für IoT-Daten?
MQTT ist für leichtgewichtiges, ereignisgesteuertes Messaging optimiert, während Datenbanken für Speicherung und Abfrage-Workloads ausgelegt sind. Das Persistieren jeder Roh-Nachricht kann teuer oder unnötig umfangreich werden. Deshalb ist es sinnvoll, Daten durch Aggregation von Metriken, Filterung von Topics oder Downsampling bewusst zu modellieren. Besonders stromsparende Geräte oder stark eingeschränkte Netzwerke können außerdem Schwierigkeiten mit dauerhaften Verbindungen oder TLS-Overhead haben. In solchen Fällen sollten QoS-Einstellungen, Batching und Retention Policies angepasst werden. Wenn Models und Routes unter Berücksichtigung dieser Abwägungen entworfen werden, funktioniert MQTT in Kombination mit Managed Databases für die meisten IoT-Szenarien sehr gut.
9. Wie wähle ich zwischen PostgreSQL, MySQL, MongoDB und OpenSearch für ein IoT-Projekt?
Die richtige Managed Database hängt von der Struktur Ihrer IoT-Daten, Ihren Skalierungsanforderungen und der geplanten Abfrage von Geräteinformationen ab. Die folgende Tabelle fasst die Stärken der einzelnen Optionen zusammen:
| Datenbank | Beste Wahl, wenn … | Typische Anwendungsfälle | Zentrale Stärken |
|---|---|---|---|
| PostgreSQL | Sie komplexe relationale Abfragen, starke Konsistenz und transaktionale Integrität mit ACID-Unterstützung benötigen. | Industrielle Sensornetzwerke, Korrelation von Gerätedaten mit Produktionssystemen, Analysen über verknüpfte Datensätze | Relationale Schemata, erweitertes SQL, Konsistenz |
| MySQL | Ihre Workloads strukturiert sind und breite Tool-Unterstützung sowie Kompatibilität erfordern. | Inventarverfolgung, klassische Geschäftsanwendungen, Produktionskennzahlen | Einfachere relationale Anforderungen, breite Unterstützung |
| MongoDB | Ihre Geräte-Payloads sich häufig ändern oder schnelles Prototyping mit dokumentbasierter Speicherung wichtig ist. | IoT-Telemetrie mit wechselnden Formaten, schnelle Entwicklung, halbstrukturierte Daten | Flexible Schemata, einfache Skalierung, schnelles Prototyping |
| OpenSearch | Sie große Mengen an IoT-Daten wie Logs, Events oder Zeitreihen durchsuchen, analysieren oder visualisieren möchten. | Suche in Sensordaten, Log-Analysen, Visualisierung, keyword- und zeitbasierte Abfragen | Suche, Volltextanalyse, Analysen, schnelle Aggregationen |
Fazit
Die Integration des Coreflux MQTT Brokers mit Managed-Database-Diensten wie PostgreSQL, MongoDB, MySQL oder OpenSearch schafft eine vollständige Umgebung für Echtzeit-IoT-Datenverarbeitung und Speicherung. Mit dieser Anleitung bauen Sie eine Automatisierungspipeline auf, die IoT-Daten über Low-Code-Entwicklungspraktiken erfasst, verarbeitet und speichert.
Durch die Architektur von Coreflux und die Speichermöglichkeiten der gewählten Datenbank lassen sich große Mengen an Echtzeitdaten effizient verarbeiten und für wertvolle Erkenntnisse abfragen. Ob industrielle Systeme überwacht, Umweltsensoren ausgewertet oder Smart-City-Infrastrukturen verwaltet werden sollen: Dieses Setup unterstützt datenbasierte Entscheidungen, indem es Live-MQTT-Topics mit historischen Datenbankabfragen kombiniert.


