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.

  1. Melden Sie sich im Cloud-Control-Panel an.
  2. Öffnen Sie den Netzwerkbereich und navigieren Sie zu VPC.
  3. 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.

  1. Öffnen Sie im Cloud-Control-Panel den Datenbankbereich.
  2. 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.

  1. Öffnen Sie im Cloud-Control-Panel den Datenbankbereich.
  2. 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

  1. Öffnen Sie im Cloud-Control-Panel den Datenbankbereich.
  2. 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

  1. Öffnen Sie im Cloud-Control-Panel den Datenbankbereich.
  2. 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

  1. Navigieren Sie im Cloud-Control-Panel zum Bereich für virtuelle Maschinen oder Compute-Instanzen.
  2. 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-keygen einen Schlüssel erzeugen
  • 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:

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 coreflux fü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:

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.

  1. Öffnen Sie den Netzwerkbereich und navigieren Sie zu Firewalls.
  2. 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.

  1. Öffnen Sie Visual Studio Code.
  2. Gehen Sie mit Ctrl+Shift+X zu den Erweiterungen.
  3. Suchen Sie nach LoT Notebooks.
  4. 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/Data Topics, 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-data oder den von Ihnen vergebenen Namen
  • Prüfen Sie die Tabelle MachineProductionData auf 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-data oder den von Ihnen vergebenen Namen
  • Prüfen Sie die Collection MachineProductionData auf 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-data oder den von Ihnen ausgewählten Datenbanknamen
  • Prüfen Sie die Tabelle MachineProductionData auf 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:

  1. Öffnen Sie das Menü und wählen Sie Index Management
  2. Wählen Sie die Option Indexes und prüfen Sie, ob Ihr Tabellenname in der Liste erscheint
  3. Kehren Sie zur Startseite zurück und öffnen Sie im Menü Discover
  4. Erstellen Sie ein Index Pattern, indem Sie den angezeigten Schritten folgen
  5. 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.

Quelle: digitalocean.com

Jetzt 200€ Guthaben sichern

Registrieren Sie sich jetzt in unserer ccloud³ und erhalten Sie 200€ Startguthaben für Ihr Projekt.

Das könnte Sie auch interessieren:

Moderne Hosting Services mit Cloud Server, Managed Server und skalierbarem Cloud Hosting für professionelle IT-Infrastrukturen

NVIDIA DGX B300 erklärt: Blackwell GPU, Specs & KI Performance

AI/ML, Tutorial
VijonaHeute um 8:04 Uhr NVIDIA DGX B300: Architektur, Funktionen, Spezifikationen und ideale Einsatzbereiche Cloud-Anbieter und Infrastrukturplattformen arbeiten kontinuierlich daran, moderne Technologien in ihren Umgebungen bereitzustellen. Diese Entwicklung reicht von grundlegenden Cloud-Services…