Membangun Sistem Pemantauan Time-Series yang Kuat: Mengintegrasikan RTI Connext DDS dengan Telegraf dan InfluxDB

Mengapa Menggabungkan DDS, Telegraf, dan InfluxDB?
Di IoT industri, visibilitas real-time ke telemetri perangkat sangat penting. RTI Connext DDS menyediakan distribusi data yang terukur dan berlatensi rendah, sementara InfluxDB unggul dalam menyimpan dan mengkueri metrik time-series. Telegraf, pengumpul metrik ringan dari InfluxData, menjembatani keduanya dengan menginjasikan data DDS dan meneruskannya ke InfluxDB (atau tujuan lain). Arsitektur ini menawarkan saluran pemantauan yang fleksibel dan berkinerja tinggi yang dapat disesuaikan dengan setiap penerapan IIoT.
Memperkenalkan Telegraf Connext DDS Input Plugin
Hingga beberapa waktu lalu, Telegraf tidak memiliki input plugin DDS asli, yang membatasi kemampuannya untuk mengonsumsi data dari Connext DDS secara langsung. Plugin dds_consumer mengisi kesenjangan itu. Plugin ini berjalan sebagai layanan latar belakang, mendengarkan pesan DDS melalui WaitSets, dan mendorong metrik yang telah diurai ke buffer internal Telegraf untuk pemrosesan hiliran.
Fitur Utama
- Operasi gaya layanan: secara otomatis meneruskan sampel DDS yang masuk tanpa polling.
- Mendukung format data JSON, serialisasi paling umum untuk demo DDS.
- Tag, nama pengukuran, dan pemetaan kolom yang dapat dikonfigurasi.
- Kompatibel dengan prosesor dan agregator bawaan Telegraf untuk penanganan metrik lanjutan.
Ringkasan Pengembangan Plugin
Framework plugin Telegraf mendefinisikan seperangkat antarmuka. Sebuah input plugin mengimplementasikan metode Sample dan SampleSet, sementara sebuah service plugin menambahkan fungsi Start dan Stop untuk mengelola thread latar belakang. Plugin dds_consumer memanfaatkan ini untuk menghasilkan listener yang bereaksi terhadap kedatangan DDS.
Memulai: Dasar Konfigurasi
File konfigurasi Telegraf ditulis dalam TOML. Plugin ini memerlukan file XML tambahan yang menggambarkan entitas DDS (Participant, Publisher, Subscriber, Reader, dll.). Berikut adalah contoh minimal yang membaca topik DDS Square yang dipublikasikan oleh demo RTI Shapes dan menulis metrik ke file lokal.
[[inputs.dds_consumer]] ## Path to the DDS XML description config_path = "example_configs/ShapeExample.xml" ## DDS Participant configuration name participant_config = "MyParticipantLibrary::Zero" ## DDS DataReader configuration name reader_config = "MySubscriber::MySquareReader" ## Tag keys extracted from the DDS payload tag_keys = ["color"] ## Override default measurement name name_override = "shapes" ## Expected data format data_format = "json"
Untuk menghasilkan konfigurasi Telegraf lengkap yang mencakup input ini dan output file, jalankan:
$ telegraf --input-filter dds_consumer --output-filter file config > dds_to_file.conf $ telegraf -config dds_to_file.conf
Setelah mempublikasikan sampel Square dalam demo Shapes, metrik akan muncul di /tmp/metrics.out.
Beralih ke Output InfluxDB
Ganti output file dengan InfluxDB dengan menghasilkan ulang konfigurasi:
$ telegraf --input-filter dds_consumer --output-filter influxdb config > dds_to_influx.conf $ telegraf -config dds_to_influx.conf
Meningkatkan Saluran Metrik Anda
Ekosistem Telegraf mencakup beberapa plugin bawaan yang menambahkan nilai:
Aggregators
Hitung statistik seperti mean, min, max, dan standar deviasi seiring waktu:
[[aggregators.basicstats]] period = "10s" drop_original = false
Processors
Ubah nama atau transformasikan kolom sebelum penyimpanan:
[[processors.rename]] [[processors.rename.replace]] field = "x" dest = "y_trans" [[processors.rename.replace]] field = "y" dest = "x_trans"
Alat ini memungkinkan Anda menyesuaikan model data dengan kebutuhan pemantauan Anda, baik Anda membutuhkan sampel mentah, rangkuman yang diagregasi, atau nama kolom kustom.
Sumber Daya dan Dukungan Komunitas
Plugin ini merupakan bagian dari RTI Labs, program gratis yang memberikan akses dini ke teknologi RTI. Temukan kode sumber, dokumentasi, dan contoh konfigurasi di GitHub:
Untuk pertanyaan, masukan, atau permintaan fitur, kunjungi RTI Community forum atau buka issue di GitHub.
Kesimpulan
Plugin Telegraf Connext DDS membuka saluran yang canggih dan beroverhead rendah untuk menginjasikan telemetri DDS ke InfluxDB. Dengan menggabungkan arsitektur yang dapat diperluas Telegraf dengan middleware DDS RTI, Anda dapat membangun solusi pemantauan time-series yang terukur dan tepercaya untuk setiap skenario IIoT.