Robustes Time-Series Monitoring bauen: RTI Connext DDS mit Telegraf und InfluxDB integrieren
Warum DDS, Telegraf und InfluxDB kombinieren?
Im Industrial IoT ist Echtzeit-Transparenz in Geräte-Telemetrie kritisch. RTI Connext DDS liefert Low-Latency, skalierbare Datenverteilung, während InfluxDB bei Speicherung und Abfrage von Time-Series-Metriken glänzt. Telegraf, der leichte Metriken-Collector von InfluxData, verbindet beide, indem er DDS-Daten ingestet und an InfluxDB (oder andere Ziele) weiterleitet. Diese Architektur bietet eine flexible, hochperformante Monitoring-Pipeline, die sich an jedes IIoT-Deployment anpassen lässt.
Einführung des Telegraf Connext DDS Input Plugins
Bis vor kurzem fehlte Telegraf ein natives DDS Input Plugin, was die Fähigkeit limitierte, Daten von Connext DDS direkt zu konsumieren. Das dds_consumer Plugin schließt diese Lücke. Es läuft als Background-Service, lauscht auf DDS-Nachrichten via WaitSets und pusht geparste Metriken in Telegrafs internen Buffer für nachgelagerte Verarbeitung.
Kernfeatures
- Service-Style-Betrieb: leitet eingehende DDS-Samples automatisch ohne Polling weiter.
- Unterstützt JSON-Datenformat, die gängigste Serialisierung für DDS-Demos.
- Konfigurierbare Tags, Measurement-Namen und Feld-Mappings.
- Kompatibel mit Telegrafs eingebauten Prozessoren und Aggregatoren für fortgeschrittenes Metrik-Handling.
Plugin-Entwicklungs-Überblick
Telegrafs Plugin-Framework definiert ein Set von Interfaces. Ein Input-Plugin implementiert Sample und SampleSet Methoden, während ein Service-Plugin Start und Stop Funktionen hinzufügt, um Background-Threads zu managen. Das dds_consumer Plugin nutzt diese, um einen Listener zu spawnen, der auf DDS-Ankünfte reagiert.
Erste Schritte: Konfigurationsgrundlagen
Telegraf-Konfigurationsdateien sind in TOML geschrieben. Das Plugin benötigt eine zusätzliche XML-Datei, die DDS-Entitäten beschreibt (Participant, Publisher, Subscriber, Reader, etc.). Unten ein minimales Beispiel, das ein DDS Square Topic liest, publiziert von der RTI Shapes Demo, und Metriken in eine lokale Datei schreibt.
[[inputs.dds_consumer]] ## Pfad zur DDS XML Beschreibung config_path = "example_configs/ShapeExample.xml" ## DDS Participant Konfiguration name participant_config = "MyParticipantLibrary::Zero" ## DDS DataReader Konfiguration name reader_config = "MySubscriber::MySquareReader" ## Tag Keys extrahiert aus DDS Payload tag_keys = ["color"] ## Override default measurement name name_override = "shapes" ## Erwartetes Datenformat data_format = "json"
Um eine vollständige Telegraf-Konfiguration zu generieren, die dieses Input und ein File Output enthält, ausführen:
$ telegraf --input-filter dds_consumer --output-filter file config > dds_to_file.conf $ telegraf -config dds_to_file.conf
Nach Publizieren eines Square Samples in der Shapes Demo erscheinen Metriken in /tmp/metrics.out.
Umstellung auf InfluxDB Output
Ersetzen Sie das File Output durch InfluxDB, indem Sie die Config regenerieren:
$ telegraf --input-filter dds_consumer --output-filter influxdb config > dds_to_influx.conf $ telegraf -config dds_to_influx.conf
Ihre Metrik-Pipeline erweitern
Telegrafs Ökosystem beinhaltet mehrere eingebaute Plugins, die Wert hinzufügen:
Aggregatoren
Berechnen Statistiken wie Mean, Min, Max und Standardabweichung über Zeit:
[[aggregators.basicstats]] period = "10s" drop_original = false
Prozessoren
Felder vor Speicherung umbenennen oder transformieren:
[[processors.rename]] [[processors.rename.replace]] field = "x" dest = "y_trans" [[processors.rename.replace]] field = "y" dest = "x_trans"
Diese Tools ermöglichen es, das Datenmodell an Ihre Monitoring-Bedürfnisse anzupassen, ob Sie Raw-Samples, aggregierte Summaries oder benutzerdefinierte Feldnamen benötigen.
Ressourcen und Community Support
Das Plugin ist Teil von RTI Labs, einem kostenlosen Programm, das frühen Zugriff auf RTI-Technologie gibt. Finden Sie Source Code, Dokumentation und Beispielkonfigurationen auf GitHub:
Für Fragen, Feedback oder Feature-Requests besuchen Sie das RTI Community Forum oder eröffnen Sie ein Issue auf GitHub.
Fazit
Das Telegraf Connext DDS Plugin erschließt eine mächtige, low-overhead Pipeline für das Ingestieren von DDS-Telemetrie in InfluxDB. Durch Kombination von Telegrafs erweiterbarer Architektur mit RTIs DDS-Middleware können Sie eine skalierbare, vertrauenswürdige Time-Series-Monitoring-Lösung für jedes IIoT-Szenario bauen.
Internet der Dinge-Technologie
- Connext DDS im Industrial IoT: 5 Schlüsselerkenntnisse für Zuverlässigkeit, Sicherheit und Skalierbarkeit
- DIY Heimbrau-Temperaturregelung: Überwachen & Steuern mit Arduino
- Ist Continuous Monitoring die richtige Wahl für Ihren Betrieb?
- Cisco startet Cloud-gemanagtes IoT-Monitoring für IT- und OT-Umgebungen
- IoT-gestütztes Ambient Monitoring: Patient Care transformieren
- Industrie 4.0: Transformation der Zustandsüberwachung von Anlagen für beispiellose Effizienz
- IoT-fähige Gasüberwachungslösungen: Industrielle Sicherheitsstandards erhöhen
- Milchwirtschaft revolutionieren: IoT-gestützte Füllstandüberwachung für effizientes Management
- Robuste Füllstandüberwachung für korrosive & explosive Flüssigkeiten: IoT-Lösung
- Energiesparen maximieren mit Zentralsteuerung & Fernüberwachung