Топики mqtt: различия между версиями
Нет описания правки |
Нет описания правки |
||
| Строка 120: | Строка 120: | ||
* [<формат данных>] - должен быть равен '$ent' для бинарного протокола entcor, иначе может отсутствовать. | * [<формат данных>] - должен быть равен '$ent' для бинарного протокола entcor, иначе может отсутствовать. | ||
Части топика, которые могут содержать "/" или получены из внешний системы должны кодироваться при помощи encodeURIComponent. | Части топика, которые могут содержать "/" или получены из внешний системы, должны кодироваться при помощи encodeURIComponent. | ||
=== Пример для host agent === | === Пример для host agent === | ||
Версия от 07:02, 28 марта 2025
| Топик | Формат | |
|---|---|---|
| граф sd-wan | sd-wan/data | |
| сработка правил | events/rules | |
| внешние узлы | mirror/externalNodes | |
| очередь внешних узлов | mirror/externalNodes/queue/current | |
| потоки | mirror/flows | |
| очередь потоков | mirror/flows/queue/current | |
| измерения | mirror/measures | |
| очередь измерений | mirror/measures/queue/current | |
| узлы карты сети | mirror/nodes | |
| очередь узлов | mirror/nodes/queue/current | |
| таблица DHCP | e-nms/dhcp/<mac> | {
identifier?: string, mac?: string, dhcpRelay?: string, template?: string, ipSetToDevice?: string, status?: string[], flagToAllowedToConnect?: boolean, } |
| буревестник | /device/MKI_alfa/mb1x3/cpu1/<шина+канал>/<id устройства>/reg/<регистр>/<req/resp> | |
| задачи (tasks) | e-nms/tasks/<id> | {
id: string; name: string; alternativename: string; user: string, startRT: Date; endRT?: Date; status?: taskstatus; data?: any; progress?: any[]; error?: string; timeoutRT: Date; version?: number; additionaldata?: {}; } |
Ссылка на схемы: https://drive.google.com/file/d/1PqLCC33zCoV3FTqQ7OKWnMz1g54gLhbM/view?usp=sharing
Cтруктура топиков
Структура определяется для 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