构建稳健时序监控系统:集成 RTI Connext DDS 与 Telegraf 和 InfluxDB
为何结合 DDS、Telegraf 和 InfluxDB?
在工业物联网中,实时洞察设备遥测数据至关重要。RTI Connext DDS 提供低延迟、可扩展的数据分发,而 InfluxDB 擅长存储和查询时序指标。Telegraf 来自 InfluxData 的轻量级指标收集器,通过摄取 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 格式。插件需要额外的 XML 文件描述 DDS 实体(参与者、发布者、订阅者、读取器等)。以下是最小示例,读取 RTI Shapes 演示发布的 DDS Square 主题并将指标写入本地文件。
[[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"
生成包含此输入和文件输出的完整 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 场景构建可扩展、可信的时序监控解决方案。
物联网技术