MQTT Explorer Setup für das Monitoring von MQTT-Nachrichten

Inhalt

MQTT ist häufig Teil einer Unified Namespace (UNS) Architektur in der industriellen Automatisierung. Bei der Implementierung und dem Betrieb MQTT-basierter Systeme ist die Transparenz des Nachrichtenflusses ein wesentlicher Bestandteil. Ingenieure müssen verstehen, welche Daten über welche Topics fließen und wie Payloads strukturiert sind. Ohne ein geeignetes Monitoring-Tool gleicht die Fehlersuche im MQTT-Netzwerk dem Arbeiten im Blindflug. Ein strukturiertes MQTT Explorer Setup schafft hier Abhilfe: Mit MQTT Explorer steht eine grafische Oberfläche zur Verfügung, die MQTT-Nachrichten in Echtzeit visualisiert. Dieser Artikel zeigt Schritt für Schritt, wie Sie MQTT Explorer installieren, konfigurieren und für das Debugging industrieller MQTT-Implementierungen einsetzen.

 

Was ist MQTT Explorer?

MQTT Explorer ist ein Open-Source-Desktop-Tool zur Visualisierung von MQTT-Nachrichten und zur Interaktion mit MQTT Brokern. Entwickelt für Entwickler und Ingenieure, die MQTT-basierte Systeme implementieren, debuggen oder überwachen, kombiniert es Benutzerfreundlichkeit mit technischer Tiefe.

Kernfunktionen

MQTT Explorer bietet folgende zentrale Fähigkeiten:

  1. Broker-Verbindung: Verbindung zu lokalen und remote MQTT Brokern (MQTT 3.1.1 und MQTT 5.0)
  2. Topic-Hierarchie: Hierarchische Darstellung der Topic-Struktur als expandierbare Baumansicht
  3. Echtzeit-Monitoring: Visualisierung eingehender Nachrichten in Echtzeit
  4. Payload-Inspektion: Unterstützung für JSON, Plaintext und Binary-Formate
  5. Publishing: Publizieren von Test-Nachrichten für Integration Testing
  6. Message History: Historische Nachrichtenverfolgung pro Topic mit Zeitstempeln

 

Abgrenzung zu anderen Tools

Die folgende Tabelle ordnet MQTT Explorer im Kontext alternativer Monitoring-Tools ein:

Feature MQTT Explorer MQTT.fx mosquitto_sub (CLI)
Grafische Oberfläche Ja Ja Nein
Topic-Hierarchie-Visualisierung Ja Eingeschränkt Nein
Plattformübergreifend Windows, macOS, Linux Windows, macOS, Linux Windows, macOS, Linux
Lizenz Open Source (MIT) Freeware/Commercial Open Source
Payload-Inspektion JSON, Text, Hex Ja Text only
Ideal für Entwicklung & Debugging Entwicklung & Testing Automatisierung & Scripting

MQTT Explorer eignet sich besonders für die initiale System-Exploration und Fehleranalyse in der Entwicklungsphase. Einen detaillierten Vergleich von MQTT Clients finden Sie hier.

 

Installation von MQTT Explorer

Im Folgenden ist die Installation von MQTT Explorer für Windows, Max und Linux beschrieben.

Voraussetzungen

  1. Systemanforderungen
    • Betriebssystem: Windows 7+, macOS 10.12+, Linux (Ubuntu, Debian, Fedora)
    • Arbeitsspeicher: mindestens 2 GB RAM
    • Netzwerkzugriff: Verbindung zum MQTT Broker (lokal oder remote)
  2. Erforderliche Kenntnisse
    • Grundlegendes Verständnis von MQTT (Publisher, Subscriber, Topics, Broker)
    • Netzwerkkonfiguration (IP-Adressen, Ports)
    • Optional: Authentifizierungsdaten für MQTT Broker (Username/Password oder TLS-Zertifikate)

 

Windows-Installation

  1. Navigieren Sie zur offiziellen Release-Seite: https://github.com/thomasnordquist/MQTT-Explorer/releases
  2. Laden Sie die neueste .exe-Datei herunter (z.B. MQTT-Explorer-Setup-0.4.0-beta.exe)
  3. Führen Sie die Installationsdatei aus und folgen Sie dem Setup-Assistenten
  4. Nach der Installation starten Sie MQTT Explorer über das Startmenü

Hinweise:

  • Keine zusätzlichen Dependencies erforderlich
  • Installationsgröße: ca. 150 MB
  • Automatische Update-Benachrichtigungen verfügbar

 

macOS-Installation

  1. Laden Sie die .dmg-Datei von der Release-Seite herunter
  2. Öffnen Sie die .dmg-Datei
  3. Ziehen Sie MQTT Explorer in den Applications-Ordner
  4. Starten Sie die Anwendung aus dem Applications-Ordner
  5. Bestätigen Sie gegebenenfalls die Sicherheitsabfrage bei nicht signiertem Entwickler

macOS Hinweis bei Sicherheitswarnung: Systemeinstellungen → Sicherheit → „Trotzdem öffnen“

 

Linux-Installation Ubuntu/Debian (AppImage)

  1. Download der .AppImage-Datei: wget https://github.com/thomasnordquist/MQTT-Explorer/releases/download/0.4.0-beta/MQTT-Explorer-0.4.0-beta.AppImage
  2. Ausführbar machen: chmod +x MQTT-Explorer-0.4.0-beta.AppImage
  3. Starten: ./MQTT-Explorer-0.4.0-beta.AppImage

 

Verbindung zum MQTT Broker herstellen

Die erste Verbindung zu einem MQTT Broker ist der zentrale Schritt zur Nutzung von MQTT Explorer. Das Tool unterstützt verschiedene Authentifizierungsmethoden und Verbindungstypen.

MQTT Explorer Setup für das Monitoring von MQTT-Nachrichten

Grundlegende Verbindungskonfiguration

Schritt-für-Schritt-Anleitung:

  1. Connection-Dialog öffnen: Beim ersten Start öffnet sich automatisch der Connection-Dialog. Später erreichen Sie ihn über „Connections“ → „New Connection“
  2. Connection Name vergeben: Wählen Sie einen aussagekräftigen Namen (z.B. „Lokaler Test Broker“ oder „Produktions-UNS-Werk01“)
  3. Broker-Adresse konfigurieren:
    • Protocol: mqtt:// (Standard) oder mqtts:// (TLS)
    • Host: IP-Adresse oder Hostname des Brokers (z.B. 192.168.1.100 oder mqtt.example.com)
    • Port: Standard ist 1883 (unverschlüsselt) oder 8883 (TLS)
  4. Client ID (optional): Leer lassen für automatische Generierung, oder eigene ID für persistente Sessions vergeben

Konfigurations-Beispiel:

  • Name: Produktions-Broker Werk 01
  • Protocol: mqtt://
  • Host: 10.50.10.100
  • Port: 1883
  • Client ID: mqtt-explorer-monitoring

 

Authentifizierung konfigurieren

  1. Username/Password-Authentifizierung
    • Aktivieren Sie „Enable authentication“
    • Geben Sie Username und Password ein
    • Speichern Sie die Verbindung
  2. TLS/SSL-Verbindung: Für produktive industrielle Umgebungen wird TLS-Verschlüsselung empfohlen:
    • Wählen Sie mqtts:// als Protocol
    • Ändern Sie den Port auf 8883
    • Unter „Advanced“ → „TLS/SSL Configuration“:
      • CA Certificate: Root-Zertifikat des Brokers hochladen
      • Client Certificate (optional): Client-Zertifikat für gegenseitige Authentifizierung
      • Private Key (optional): Private Key des Client-Zertifikats

 

Advanced Settings

  • Auto connect: Automatische Verbindung beim Start
  • Clean session: Bei Deaktivierung werden Subscriptions persistent gespeichert
  • Keep alive interval: Heartbeat-Intervall (Standard: 60 Sekunden)
  • QoS for subscriptions: Quality of Service Level (QoS 0, QoS 1 oder QoS 2)

 

Verbindung testen

  1. Klicken Sie auf „Connect“
  2. Erfolgreiche Verbindung wird durch Status „Connected“ angezeigt
  3. Die Topic-Hierarchie wird im linken Panel geladen

 

MQTT-Nachrichten überwachen und visualisieren

Nach erfolgreicher Verbindung bietet MQTT Explorer mehrere Ansichten zur Überwachung des Nachrichtenflusses.

Die MQTT Explorer Benutzeroberfläche

MQTT Explorer gliedert sich in drei Hauptbereiche:

1. Topic Tree (linker Bereich):

  • Hierarchische Darstellung aller Topics
  • Farbkodierung nach Aktivität (grün = aktiv, grau = inaktiv)
  • Expandierbare/Kollapsierbare Hierarchieebenen
  • Anzahl empfangener Nachrichten pro Topic

2. Message Detail Panel (rechter Bereich):

  • Aktueller Payload des ausgewählten Topics
  • Timestamp der letzten Nachricht
  • QoS-Level und Retain-Flag
  • Message History mit zeitlicher Abfolge

3. Statistics Panel (unten):

  • Gesamtanzahl empfangener Nachrichten
  • Nachrichten pro Sekunde
  • Anzahl aktiver Topics

 

Topics subscriben und filtern

MQTT Explorer subscribt standardmäßig auf # (alle Topics). Für fokussierte Überwachung können Sie spezifische Topic-Filter definieren:

  1. Klicken Sie auf „Advanced“ → „Subscribe to specific topics“
  2. Geben Sie Topic-Filter ein:
    • werk01/area01/# – Alle Topics unterhalb von werk01/area01
    • +/temperature – Temperature-Topics auf zweiter Hierarchieebene
    • werk01/area01/+/machine01/# – Spezifische Maschine, alle Sub-Topics

Best Practice für industrielle Systeme: Vermeiden Sie #-Subscriptions auf Produktions-Brokern mit hohem Nachrichtenaufkommen. Subscriben Sie gezielt auf relevante Topic-Bereiche, um Performance-Probleme zu vermeiden.

 

Payload-Inspektion

MQTT Explorer erkennt automatisch Payload-Formate und stellt sie entsprechend dar:

  • JSON-Payloads: {"timestamp": "2025-01-15T14:23:00Z", "machine_id": "robot01", "temperature": 87.3, "unit": "celsius", "status": "running"}
  • Plaintext-Payloads: 87.3
  • Binary-Payloads:
    • Hex-Darstellung
    • ASCII-Seitenansicht
    • Byte-Zählung

 

Message History nutzen

Für jedes Topic speichert MQTT Explorer die Message History:

  • Zeitstempel jeder empfangenen Nachricht
  • Payload-Änderungen nachvollziehbar
  • Ideal für Debugging intermittierender Probleme
  • History-Größe konfigurierbar (Advanced Settings)

 

Retained Messages erkennen

Nachrichten mit gesetztem Retain-Flag werden speziell markiert:

  • Retain-Symbol neben Topic-Namen
  • Wichtig für Unified Namespace (UNS) Architekturen: Retained Messages liefern Last Known Good Value

 

Nachrichten publizieren und testen

  1. Wählen Sie „Publish“ im oberen Bereich
  2. Geben Sie das Ziel-Topic ein: werk01/area01/line01/testmachine/setpoint
  3. Wählen Sie QoS-Level (QoS 0, QoS 1 oder QoS 2)
  4. Optional: Aktivieren Sie „Retain“ für persistente Nachrichten
  5. Geben Sie den Payload ein: {"target_temperature": 85.0, "unit": "celsius"}
  6. Klicken Sie „Publish“

 

Troubleshooting häufiger Probleme

Problem 1: Verbindung zum Broker schlägt fehl

Typische Anzeichen sind Fehlermeldungen wie „Connection refused“ oder „Timeout“. In MQTT Explorer bleibt der Status dauerhaft auf „Connecting…“, ohne dass eine erfolgreiche Verbindung aufgebaut wird. Lösungsansätze:

  1. Broker-Erreichbarkeit prüfen: ping <broker-ip> oder telnet <broker-ip> 1883
  2. Firewall-Regeln überprüfen:
    • Port 1883 (TCP) für mqtt://
    • Port 8883 (TCP) für mqtts://
    • Windows: Windows Defender Firewall
    • Linux: iptables oder ufw
  3. Broker-Status validieren: sudo systemctl status mosquitto oder sudo tail -f /var/log/mosquitto/mosquitto.log
  4. Credentials validieren:
    • Username/Password korrekt?
    • TLS-Zertifikate gültig und nicht abgelaufen?

 

Problem 2: Keine Topics werden angezeigt

Die Verbindung zum Broker wird erfolgreich hergestellt, jedoch bleibt die Topic-Liste leer. Zusätzlich erscheint möglicherweise der Hinweis „No messages received“, obwohl Daten erwartet werden. Lösungsansätze:

  1. Subscription-Filter prüfen:
    • Ist # als Wildcard konfiguriert?
    • Überprüfen Sie „Advanced“ → „Topics to subscribe“
  2. ACL-Berechtigungen:
    • Hat der Client Leserechte für die Topics?
    • Test mit mosquitto_sub: mosquitto_sub -h <broker-ip> -t '#' -u <user> -P <password> -v
  3. Publisher aktiv?:
    • Werden überhaupt Nachrichten publiziert?
    • Testweise eine Nachricht manuell publizieren

 

Problem 3: MQTT Explorer reagiert langsam oder friert ein

Die Benutzeroberfläche wird spürbar träge, der CPU- oder RAM-Verbrauch steigt stark an, und neue Nachrichten werden nur verzögert dargestellt oder erscheinen mit deutlicher Latenz. Lösungsansätze:

  1. Message History limitieren: Advanced Settings → „Max messages per topic“: 100 (statt Standard 1000)
  2. Subscription einschränken:
    • Subscriben Sie nicht auf # bei High-Volume-Brokern
    • Nutzen Sie spezifische Topic-Filter: werk01/# statt #
  3. Neustart mit fokussierter Subscription:
    • Verbindung trennen
    • Subscription auf relevanten Bereich reduzieren
    • Neu verbinden

 

Problem 4: Payload wird nicht korrekt dargestellt

JSON-Payloads werden lediglich als Plaintext angezeigt oder binäre Daten erscheinen als unlesbare Zeichenfolge. Die automatische Formatierung scheint nicht korrekt zu greifen. Lösungsansätze:

  1. JSON-Validierung:
    • Ist der Payload valides JSON?
    • Test mit Online-Validator (jsonlint.com)
  2. Encoding prüfen:
    • UTF-8 Encoding für Textpayloads erforderlich
    • Bei Binary: Hex-Ansicht nutzen (Rechtsklick → „View as Hex“)
  3. Format-Erkennung:
    • MQTT hat keine Content-Type-Header
    • MQTT Explorer rät Format basierend auf Payload-Struktur

 

Problem 5: Retained Messages werden nicht angezeigt

Bekannte Retained Messages erscheinen nach dem Verbindungsaufbau nicht im Topic-Baum, obwohl sie zuvor erfolgreich publiziert wurden. Lösungsansätze:

  1. Clean Session Flag:
    • Deaktivieren Sie „Clean session“ in Connection Settings
    • Neu verbinden
  2. Broker-Konfiguration:
    • Überprüfen Sie Broker-Logs auf Persistenz-Fehler
    • Bei mosquitto: persistence true in mosquitto.conf

 

Fazit

MQTT Explorer ist ein essentielles Werkzeug für jeden, der MQTT-basierte Systeme entwickelt oder betreibt. Die grafische Darstellung der Topic-Hierarchie, Echtzeit-Payload-Inspektion und die Möglichkeit, Test-Nachrichten zu publizieren, machen es zum Schweizer Taschenmesser für MQTT-Debugging. Für produktive UNS-Implementierungen kombinieren Sie MQTT Explorer mit automatisierten Monitoring-Lösungen und etablieren Sie klare Governance-Regeln für Publish-Berechtigungen.

Über i-flow: i-flow ist ein Unternehmen für industrielle Software mit Sitz in Süddeutschland. Wir bieten produzierenden Unternehmen die weltweit intuitivste Software zur Vernetzung von Fabriken. Täglich über 750 Millionen Datenoperationen in produktionskritischer Umgebung demonstrieren die Skalierbarkeit der Software und das tiefe Vertrauen, das unsere Kunden in i-flow setzen. Unser Erfolg basiert auf enger Zusammenarbeit mit Kunden und Partnern weltweit, einschließlich renommierter Fortune-500-Unternehmen und Branchenführer wie Bosch.

Verwandte Artikel

Ihre Frage wurde nicht be­antwortet? Kontaktieren Sie uns.

Eine Frau mit braunen Haaren, einem dunkelblauen Hemd und einer hellen Hose steht lächelnd mit den Händen in den Taschen vor einem steinernen Gebäude mit großen Fenstern.

Ihr Kontakt:

Marieke Severiens (i-flow GmbH)
content@i-flow.io

Jetzt UNS-Architektur-Checkliste zur Bewertung von Rollen im UNS herunter­ laden.