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:
- Broker-Verbindung: Verbindung zu lokalen und remote MQTT Brokern (MQTT 3.1.1 und MQTT 5.0)
- Topic-Hierarchie: Hierarchische Darstellung der Topic-Struktur als expandierbare Baumansicht
- Echtzeit-Monitoring: Visualisierung eingehender Nachrichten in Echtzeit
- Payload-Inspektion: Unterstützung für JSON, Plaintext und Binary-Formate
- Publishing: Publizieren von Test-Nachrichten für Integration Testing
- 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
- Systemanforderungen
- Betriebssystem: Windows 7+, macOS 10.12+, Linux (Ubuntu, Debian, Fedora)
- Arbeitsspeicher: mindestens 2 GB RAM
- Netzwerkzugriff: Verbindung zum MQTT Broker (lokal oder remote)
- 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
- Navigieren Sie zur offiziellen Release-Seite:
https://github.com/thomasnordquist/MQTT-Explorer/releases - Laden Sie die neueste
.exe-Datei herunter (z.B.MQTT-Explorer-Setup-0.4.0-beta.exe) - Führen Sie die Installationsdatei aus und folgen Sie dem Setup-Assistenten
- 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
- Laden Sie die
.dmg-Datei von der Release-Seite herunter - Öffnen Sie die
.dmg-Datei - Ziehen Sie MQTT Explorer in den Applications-Ordner
- Starten Sie die Anwendung aus dem Applications-Ordner
- Bestätigen Sie gegebenenfalls die Sicherheitsabfrage bei nicht signiertem Entwickler
macOS Hinweis bei Sicherheitswarnung: Systemeinstellungen → Sicherheit → „Trotzdem öffnen“
Linux-Installation Ubuntu/Debian (AppImage)
- Download der .AppImage-Datei:
wget https://github.com/thomasnordquist/MQTT-Explorer/releases/download/0.4.0-beta/MQTT-Explorer-0.4.0-beta.AppImage - Ausführbar machen:
chmod +x MQTT-Explorer-0.4.0-beta.AppImage - 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.

Grundlegende Verbindungskonfiguration
Schritt-für-Schritt-Anleitung:
- Connection-Dialog öffnen: Beim ersten Start öffnet sich automatisch der Connection-Dialog. Später erreichen Sie ihn über „Connections“ → „New Connection“
- Connection Name vergeben: Wählen Sie einen aussagekräftigen Namen (z.B. „Lokaler Test Broker“ oder „Produktions-UNS-Werk01“)
- Broker-Adresse konfigurieren:
- Protocol:
mqtt://(Standard) odermqtts://(TLS) - Host: IP-Adresse oder Hostname des Brokers (z.B.
192.168.1.100odermqtt.example.com) - Port: Standard ist 1883 (unverschlüsselt) oder 8883 (TLS)
- Protocol:
- 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
- Username/Password-Authentifizierung
- Aktivieren Sie „Enable authentication“
- Geben Sie Username und Password ein
- Speichern Sie die Verbindung
- 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
- Wählen Sie
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
- Klicken Sie auf „Connect“
- Erfolgreiche Verbindung wird durch Status „Connected“ angezeigt
- 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:
- Klicken Sie auf „Advanced“ → „Subscribe to specific topics“
- Geben Sie Topic-Filter ein:
werk01/area01/#– Alle Topics unterhalb von werk01/area01+/temperature– Temperature-Topics auf zweiter Hierarchieebenewerk01/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
- Wählen Sie „Publish“ im oberen Bereich
- Geben Sie das Ziel-Topic ein:
werk01/area01/line01/testmachine/setpoint - Wählen Sie QoS-Level (QoS 0, QoS 1 oder QoS 2)
- Optional: Aktivieren Sie „Retain“ für persistente Nachrichten
- Geben Sie den Payload ein:
{"target_temperature": 85.0, "unit": "celsius"} - 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:
- Broker-Erreichbarkeit prüfen:
ping <broker-ip>odertelnet <broker-ip> 1883 - Firewall-Regeln überprüfen:
- Port 1883 (TCP) für mqtt://
- Port 8883 (TCP) für mqtts://
- Windows: Windows Defender Firewall
- Linux: iptables oder ufw
- Broker-Status validieren:
sudo systemctl status mosquittoodersudo tail -f /var/log/mosquitto/mosquitto.log - 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:
- Subscription-Filter prüfen:
- Ist
#als Wildcard konfiguriert? - Überprüfen Sie „Advanced“ → „Topics to subscribe“
- Ist
- 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
- 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:
- Message History limitieren: Advanced Settings → „Max messages per topic“: 100 (statt Standard 1000)
- Subscription einschränken:
- Subscriben Sie nicht auf
#bei High-Volume-Brokern - Nutzen Sie spezifische Topic-Filter:
werk01/#statt#
- Subscriben Sie nicht auf
- 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:
- JSON-Validierung:
- Ist der Payload valides JSON?
- Test mit Online-Validator (jsonlint.com)
- Encoding prüfen:
- UTF-8 Encoding für Textpayloads erforderlich
- Bei Binary: Hex-Ansicht nutzen (Rechtsklick → „View as Hex“)
- 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:
- Clean Session Flag:
- Deaktivieren Sie „Clean session“ in Connection Settings
- Neu verbinden
- Broker-Konfiguration:
- Überprüfen Sie Broker-Logs auf Persistenz-Fehler
- Bei mosquitto:
persistence truein 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.
