堅牢な時系列監視システムの構築:RTI Connext DDSとTelegraf、InfluxDBの統合
なぜDDS、Telegraf、InfluxDBを組み合わせるのか
産業用IoTでは、デバイステレメトリへのリアルタイム可視化が不可欠です。RTI Connext DDSが低レイテンシ・スケーラブルなデータ配布を提供し、InfluxDBが時系列メトリクスの格納とクエリに優れます。InfluxDataの軽量メトリクスコレクターであるTelegrafが、DDSデータを取り込みInfluxDB(や他の宛先)へ転送することで両者を橋渡しします。このアーキテクチャは、あらゆるIIoT展開に適応可能な柔軟で高性能な監視パイプラインを提供します。
Telegraf Connext DDS入力プラグインの紹介
最近まで、TelegrafにはネイティブDDS入力プラグインがなく、Connext DDSから直接データを消費する能力が制限されていました。dds_consumerプラグインがこのギャップを埋めます。バックグラウンドサービスとして動作し、WaitSets経由でDDSメッセージをリッスンし、パースしたメトリクスをTelegrafの内部バッファにプッシュして下流処理に回します。
主な機能
- サービス型動作:ポーリングなしで着信DDSサンプルを自動転送
- JSONデータ形式サポート(DDSデモで最も一般的なシリアライゼーション)
- タグ、測定名、フィールドマッピングの設定可能
- Telegraf組み込みプロセッサとアグリゲータとの互換性で高度なメトリクス処理が可能
プラグイン開発の概要
Telegrafのプラグインフレームワークは一連のインターフェースを定義します。入力プラグインはSampleとSampleSetメソッドを実装し、サービスプラグインはバックグラウンドスレッド管理のためStartとStop関数を追加します。dds_consumerプラグインはこれらを活用し、DDS到着に反応するリスナーを生成します。
始め方:設定の基本
Telegraf設定ファイルはTOMLで記述されます。プラグインには、DDSエンティティ(Participant、Publisher、Subscriber、Reader等)を記述する追加のXMLファイルが必要です。以下は、RTI Shapesデモで公開されるDDSSquareトピックを読み取り、メトリクスをローカルファイルに書き出す最小構成例です。
[[inputs.dds_consumer]]
## DDS XML記述へのパス
config_path = "example_configs/ShapeExample.xml"
## DDS Participant設定名
participant_config = "MyParticipantLibrary::Zero"
## DDS DataReader設定名
reader_config = "MySubscriber::MySquareReader"
## DDSペイロードから抽出するタグキー
tag_keys = ["color"]
## デフォルト測定名の上書き
name_override = "shapes"
## 期待データ形式
data_format = "json"
この入力とファイル出力を含む完全なTelegraf設定を生成するには:
$ telegraf --input-filter dds_consumer --output-filter file config > dds_to_file.conf
$ telegraf -config dds_to_file.conf
ShapesデモでSquareサンプルを公開すると、メトリクスが/tmp/metrics.outに出現します。
InfluxDB出力への切り替え
ファイル出力をInfluxDBに置き換えるには、設定を再生成:
$ telegraf --input-filter dds_consumer --output-filter influxdb config > dds_to_influx.conf
$ telegraf -config dds_to_influx.conf
メトリクスパイプラインの強化
Telegrafのエコシステムには価値を加える複数の組み込みプラグインがあります:
アグリゲータ
平均、最小、最大、標準偏差などの統計を時間経過で計算:
[[aggregators.basicstats]]
period = "10s"
drop_original = false
プロセッサ
格納前のフィールド名変更や変換:
[[processors.rename]]
[[processors.rename.replace]]
field = "x"
dest = "y_trans"
[[processors.rename.replace]]
field = "y"
dest = "x_trans"
これらのツールにより、生サンプル、集約サマリ、カスタムフィールド名など、監視ニーズに合わせてデータモデルを調整可能です。
リソースとコミュニティサポート
このプラグインはRTI Labsの一部で、RTIテクノロジーへの早期アクセスを提供する無料プログラムです。ソースコード、ドキュメント、設定例はGitHubで公開:
ご質問、フィードバック、機能リクエストはRTIコミュニティフォーラムまたはGitHubのIssueでお寄せください。
結論
Telegraf Connext DDSプラグインは、DDSテレメトリをInfluxDBに取り込む強力で低オーバーヘッドなパイプラインを解放します。Telegrafの拡張可能なアーキテクチャとRTIのDDSミドルウェアを組み合わせることで、あらゆるIIoTシナリオに対応するスケーラブルで信頼性の高い時系列監視ソリューションを構築できます。
モノのインターネットテクノロジー
- 継続的監視はあなたの運営に適した選択か?
- DIY自家醸造温度制御:Arduinoで監視・調節
- セントラルコントローラーとリモート監視でエネルギー節約を最大化
- 産業用IoTにおけるConnext DDS:信頼性・セキュリティ・拡張性のための5つの重要知見
- RTI Perftest 2.4リリース:Connext DDSのパフォーマンス・テストを強化
- シスコ、IT/OT環境向けクラウド管理型IoT監視を発表
- IoT駆動型環境監視:患者ケアの変革
- インダストリー4.0が実現する資産状態監視の革新:比類なき効率化への道
- IoT対応ガス監視ソリューション:産業安全基準を向上させる
- IoT対応ミルクレベル監視で酪農管理を革新
- 腐食性・爆発性液体向け堅牢レベル監視ソリューション