Структура топиков 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