Структура топиков MQTT

Материал из EWiki
Версия от 08:13, 28 марта 2025; 192.168.99.249 (обсуждение) (Новая страница: «Структура определяется для MQTT протокола и Zookeeper/etcd. Cовпадение путей в zookeeper & mqtt дает возможность накладывать данные и передавать их в разных подсистемах в одном формате. === Иерархия топика[править | править код] === <класс>/<идентификатор клиента>/<категор...»)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Перейти к навигации Перейти к поиску

Структура определяется для MQTT протокола и Zookeeper/etcd. Cовпадение путей в zookeeper & mqtt дает возможность накладывать данные и передавать их в разных подсистемах в одном формате.

Иерархия топика[править | править код]

[править | править код]

<класс>/<идентификатор клиента>/<категория>/<ресурс>/<метрика>/<формат данных>

Где:

  • <класс> — measure.
  • <категория> — категория (например, memory, cpu, disk, filesystem);
  • <ресурс> — конкретный ресурс (например, sda для диска, /home для файловой системы);
  • <метрика> — измеряемый параметр (например, used, free, iops);
  • [<формат данных>] - должен быть равен '$ent' для бинарного протокола entcor, иначе может отсутствовать.

Части топика, которые могут содержать "/" или получены из внешний системы, должны кодироваться при помощи encodeURIComponent.

Пример для host agent[править | править код]

[править | править код]

measure/<clientId>/memory/ram/total

measure/<clientId>/memory/ram/free

measure/<clientId>/memory/ram/used

measure/<clientId>/memory/swap/used

measure/<clientId>/cpu/total/usage

measure/<clientId>/disk/sda/iops

measure/<clientId>/filesystem/%2f/total

measure/<clientId>/filesystem/%2fboot/used