Построение надежной системы мониторинга временных рядов: интеграция RTI Connext DDS с Telegraf и InfluxDB
Почему объединять DDS, Telegraf и InfluxDB?
В промышленном IoT реально-временная видимость в телеметрию устройств критична. RTI Connext DDS доставляет низколатентное, масштабируемое распределение данных, в то время как InfluxDB превосходит в хранении и запросе метрик временных рядов. Telegraf, легкий коллектор метрик от InfluxData, связывает их, потребляя DDS-данные и пересылая их в InfluxDB (или другие назначения). Эта архитектура предлагает гибкий, высокопроизводительный конвейер мониторинга, адаптируемый к любому IIoT-развертыванию.
Введение в Telegraf Connext DDS Input Plugin
До недавнего времени Telegraf не имел нативного DDS input-плагина, ограничивая его способность потреблять данные из Connext DDS напрямую. Плагин dds_consumer заполняет этот пробел. Он работает как фоновый сервис, слушая DDS-сообщения через WaitSets и отправляя разобранные метрики во внутренний буфер Telegraf для последующей обработки.
Ключевые особенности
- Сервис-стиль работы: автоматически пересылает входящие DDS-образцы без опроса.
- Поддерживает JSON формат данных, наиболее распространенную сериализацию для DDS-демо.
- Настраиваемые теги, имена измерений и маппинги полей.
- Совместим с встроенными процессорами и агрегаторами Telegraf для продвинутой обработки метрик.
Обзор разработки плагина
Фреймворк плагинов Telegraf определяет набор интерфейсов. Input-плагин реализует методы Sample и SampleSet, в то время как сервис-плагин добавляет функции Start и Stop для управления фоновыми потоками. Плагин dds_consumer использует их для порождения слушателя, реагирующего на DDS-прибытия.
Начало работы: основы конфигурации
Конфигурационные файлы Telegraf написаны в TOML. Плагин требует дополнительный XML-файл, описывающий DDS-сущности (Participant, Publisher, Subscriber, Reader и т.д.). Ниже минимальный пример, читающий DDS-топик Square, публикуемый RTI Shapes демо, и записывающий метрики в локальный файл.
[[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
После публикации образца Square в Shapes демо, метрики появятся в /tmp/metrics.out.
Переключение на InfluxDB Output
Замените файловый вывод на 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 Community форум или откройте issue на GitHub.
Заключение
Telegraf Connext DDS плагин разблокирует мощный, низконакладный конвейер для приема DDS-телеметрии в InfluxDB. Комбинируя расширяемую архитектуру Telegraf с DDS-мидлварью RTI, вы можете построить масштабируемое, надежное решение мониторинга временных рядов для любого IIoT-сценария.
Интернет вещей
- Connext DDS в промышленном IoT: 5 ключевых инсайтов для надежности, безопасности и масштабируемости
- Самодельная система термостатирования для домашнего пивоварения: мониторинг и регулирование на Arduino
- Подходит ли непрерывный мониторинг для ваших операций?
- Cisco запускает облачное IoT-мониторинг для IT и OT сред
- IoT-ориентированный мониторинг окружающей среды: трансформация ухода за пациентами
- Индустрия 4.0: Трансформация мониторинга состояния активов для беспрецедентной эффективности
- IoT-решения для мониторинга газа: повышение стандартов промышленной безопасности
- Революция в управлении молочным производством с IoT-мониторингом уровня молока
- Надежное решение мониторинга уровня для коррозионных и взрывоопасных жидкостей
- Максимизация энергосбережений с центральными контроллерами и удаленным мониторингом