Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Industrial Internet of Things >> Teknologi Internet of Things

Plugin Telegraf untuk Connext DDS:Bangun Sistem Pemantauan Deret Waktu dengan DDS dan InfluxDB

Beberapa bulan yang lalu, saya menulis blog tentang memantau sistem IIoT Anda. Blog ini terutama membahas ikhtisar arsitektur pemantauan dengan Connext DDS dan database deret waktu. Blog ini merupakan kelanjutan dari diskusi itu, dengan detail baru dari elemen kunci arsitektur.

Untuk mendemonstrasikan arsitektur pemantauan, InfluxDB dari InfluxData digunakan sebagai database deret waktu untuk pemantauan. Dalam melakukan pekerjaan ini, saya menemukan bahwa plugin input Telegraf untuk Connext DDS adalah elemen penting yang hilang dalam mewujudkan arsitektur. Jadi saya mengembangkan prototipe plugin input untuk Connext DDS. Hari ini, dengan senang hati saya membagikannya kepada Anda sebagai proyek terbaru RTI Labs – program gratis yang memberi pelanggan akses awal ke teknologi RTI baru termasuk proyek perangkat lunak, unduhan, dan alat.

Di blog ini, saya akan membagikan internal dan contoh plugin Telegraf. Tapi pertama-tama, mari kita tinjau dasar-dasar Telegraf.

Apa itu Telegraf?

Telegraf, bagian dari platform rangkaian waktu InfluxData, adalah agen untuk mengumpulkan, memproses, menggabungkan, dan menulis metrik. Ini mendukung sistem plugin sehingga pengembang dapat dengan mudah menambahkan plugin untuk metrik. Ini mencakup empat jenis plugin yang berbeda:

Apa saja komponen utama Telegraf?

Telegraf menggunakan model data InfluxDB untuk metrik sebagai representasi internal. Model data berisi empat komponen utama:

Telegraf mendukung beberapa format data input untuk mengurai metrik dalam format berbeda untuk representasi internalnya. Setelah metrik diuraikan, metrik tersebut ada di memori dan akan diubah menjadi representasi konkret untuk ditransmisikan melalui plugin keluaran. Untuk itu, ia mendukung beberapa format serialisasi juga. Saat ini, plugin input untuk Connext DDS hanya berfungsi dengan format data input JSON.

File konfigurasi Telegraf ditulis menggunakan TOML, dan mencakup konfigurasi agen (misalnya, interval pengumpulan data dan interval pembilasan) dan plugin. Deskripsi rinci dapat ditemukan di sini. Untuk plugin untuk Connext DDS, diperlukan file konfigurasi tambahan untuk Pembuatan Aplikasi XML. Ini mencakup konfigurasi jenis, topik, dan entitas DDS yang digunakan oleh plugin input Telegraf.

Bagaimana plugin input Telegraf untuk Connext DDS dikembangkan?

Seperti disebutkan di atas, Telegraf menyediakan sistem plugin yang memungkinkan pengembang menambahkan plugin untuk metrik. Untuk mengembangkan plugin input, diperlukan penerapan fungsi berikut yang didefinisikan dalam antarmuka untuk plugin input.

Jika plugin input adalah plugin layanan, itu memerlukan penerapan fungsi-fungsi berikut yang ditentukan dalam antarmuka untuk plugin layanan input. Plugin layanan berbeda dari plugin biasa karena ia mengoperasikan layanan latar belakang saat Telegraf sedang berjalan.

Plugin input untuk Connext DDS adalah plugin layanan karena mendorong metrik ke Telegraf saat menerima data DDS alih-alih menarik metrik pada interval yang dikonfigurasi. Oleh karena itu, ia menjalankan utas latar belakang yang memeriksa kedatangan data DDS melalui WaitSets. Jika Anda tertarik dengan cara penerapannya, silakan lihat di sini.

Demonstrasi dengan konfigurasi contoh

Manfaat terbaik bekerja dengan Telegaf adalah ia menyediakan banyak plugin out-of-the-box. Setelah Anda memiliki plugin input untuk Connext DDS, Anda dapat dengan mudah mengambil plugin yang ada untuk menerapkannya ke data DDS yang masuk. Saya akan membahas contoh perintah dan konfigurasi untuk plugin input untuk Connext DDS dan plugin lainnya. Anda dapat menemukan contoh file konfigurasi yang saya gunakan di sini di GitHub.

File konfigurasi default dapat dibuat dengan telegraf.

$ konfigurasi telegraf> telegraf.conf

Untuk menghasilkan file dengan input dan output tertentu, Anda dapat menggunakan “--input-filter” dan “--output-filter” bendera. Perintah berikut akan menghasilkan file konfigurasi default dengan plugin input untuk Connext DDS dan plugin output untuk file.

$ telegraf --input-filter dds_consumer --output-filter file config> dds_to_file.conf

Setelah itu, Anda dapat menjalankan Telegraf dengan file konfigurasi yang dihasilkan.

$ telegraf -config dds_to_file.conf

Konfigurasi default plugin input untuk Connext DDS adalah seperti berikut:

[[inputs.dds_consumer]] 
## jalur file konfigurasi XML
config_path ="example_configs/ShapeExample.xml"

## Nama konfigurasi untuk Peserta DDS dari deskripsi dalam XML
partisipan_config ="MyParticipantLibrary::Zero"

## Nama konfigurasi untuk DDS DataReader dari deskripsi dalam XML
reader_config ="Pelanggan Saya::Pembaca Persegiku"

## Kunci tag adalah larik kunci yang harus ditambahkan sebagai tag.
tag_keys =["warna"]

## Ganti nama dasar pengukuran
name_override ="bentuk"

## Format data untuk dikonsumsi.
data_format ="json"

Konfigurasi default akan menggunakan file konfigurasi XML untuk Connext DDS yang terletak di “example_configs/ShapeExample.xml” dan buat peserta (MyParticipantLibrary::Zero ) dan pembaca (MySubscriber::MySquareReader ) didefinisikan dalam file konfigurasi. Saat ini, ini hanya berfungsi dengan format JSON sehingga “data_format” config harus disetel ke “json” .

Pembaca yang ditentukan dalam XML berlangganan topik bernama “Persegi” dan menggunakan tipe untuk demo RTI Shapes. Karena jenis demo Bentuk menggunakan atribut warna sebagai kunci, atribut warna ditambahkan sebagai tag. Secara default, nama pengukuran menjadi nama nama input layanan (dds_consumer untuk pluginnya). Jika Anda ingin menggunakan nama pengukuran yang berbeda, Anda dapat mengaturnya dengan “name_override” konfigurasi.

Untuk menguji konfigurasi ini, Anda dapat menjalankan demo RTI Shapes dan memublikasikan Square data topik. Setelah menerbitkan Persegi data topik, Anda dapat melihat metrik DDS yang diterima di “/tmp/metrics.out” , yang merupakan jalur default untuk plugin keluaran untuk file.

Jika Anda ingin mengirim data DDS yang sama ke plugin keluaran yang berbeda seperti InfluxDB, Anda cukup menjalankan perintah berikut untuk menghasilkan file konfigurasi untuk InfluxDB:

$ telegraf --input-filter dds_consumer --output-filter file config> dds_to_influx.conf 

$ telegraf -config dds_to_influx.conf

Ada beberapa plugin agregasi dan pemrosesan yang disediakan oleh Telegraf. Anda dapat menambahkan baris berikut dalam file konfigurasi Telegraf untuk menggabungkan metrik Anda dengan statistik dasar (mis., min, maks, mean, stdev). Ini akan menggabungkan metrik dengan statistik dasar setiap 10 detik.

[[aggregators.basicstats]] 
## Periode untuk menyiram &menghapus agregator.
periode ="10s"
## Jika benar, metrik asli akan dihapus oleh agregator dan tidak akan dikirim ke plugin keluaran.
drop_original =salah

Anda dapat mengganti nama bidang Anda dengan menggunakan plugin prosesor. Contoh ini menukar “x” dan “y” koordinat bentuk.

[[processors.rename]] 
[[processors.rename.replace]]
bidang ="x"
tujuan ="y_trans"
[[processors.rename.replace]]
bidang ="y"
dest ="x_trans"

Ini adalah beberapa fitur dan internal menarik dari Telegraf dan plugin untuk Connext DDS. Saya harap Anda akan menemukan mereka berguna untuk membangun sistem pemantauan deret waktu dengan DDS dan InfluxDB.

Baca pengumuman resmi tentang plugin DDS pertama untuk agen Telegraf di sini.

Sementara saya memperkenalkan beberapa plugin khusus sebagai contoh, ada banyak plugin lain yang dapat bekerja dengan sistem DDS Anda. Untuk bermain dengan plugin untuk Connext DDS, silakan periksa GitHub berikut. https://github.com/rticommunity/telegraf

Tolong beri tahu saya bagaimana Anda menyukai kiriman terbaru dari RTI Labs. Kunjungi forum Komunitas RTI atau buat masalah langsung di GitHub jika Anda memiliki komentar, pertanyaan, atau masalah.


Teknologi Internet of Things

  1. Connext DDS dan IoT Industri:5 Hal Teratas yang Perlu Diketahui
  2. DIY:Pemantauan dan Pengaturan Suhu untuk HomeBrew
  3. Apakah sistem pemantauan berkelanjutan tepat untuk Anda?
  4. Cisco Intros IoT Solusi Pemantauan Jarak Jauh untuk TI dan OT
  5. Bagaimana Sistem Pemantauan Suasana berbasis IoT bermanfaat bagi Industri Perawatan Kesehatan?
  6. Industri 4.0 untuk Pemantauan Kondisi Aset:Signifikansi dan Manfaat
  7. Memenuhi Kebutuhan Industri dengan Solusi Pemantauan Gas Bertenaga IoT
  8. Tingkatkan Penyimpanan Susu dengan Sejumput IoT:Sistem Pemantauan Level Susu
  9. Solusi Pemantauan Level untuk Cairan Korosif dan Peledak
  10. Mengoptimalkan Efisiensi Energi dengan Pengontrol Pusat dan Pemantauan Jarak Jauh