Сбор данных MQTT в Zabbix. cannot subscribe topic timed out while subscribing

Подтверждаю.
Но грабли с кучей сервисов - слишком.
Будем ждать решения от zabbix.

Пока решение нашел в применении скрипта zbx_mqtt
Итак Решение:
У меня
WB 7.3.3, FW wb-2407
Zabbix 7.0.6, Debian 12 (bookworm)


На сервере Zabbix:

apt update 
apt upgrade
apt install python3 python3-paho*
cp mqtt /usr/lib/zabbix/externalscripts/
chmod +x /usr/lib/zabbix/externalscripts/mqtt

nano /usr/lib/zabbix/externalscripts/mqtt

В строке 1 меняем python2 на python3
#!/usr/bin/env python3

Далее получаем MasterData

mqtt["-t=/devices/{$DEV_NAME}/controls/#","--mqtt-host={HOST.CONN}"]

> {$DEV_NAME} в макросах указываем название устройства в WB

Скрин

И далее как обычно Зависимыми элементами данных получаем значения.
Пока все идеально, значения идут каждую секунду.


Технически можно добавлять в Wiki как решение с Zabbix, вместо UserParameter=mqtt.value[],mosquitto_sub -t ‘$1’ -C 1


Кроме данных, которых нет в MasterData. Уже гораздо меньше проблем, по сравнению с штатным решением от Zabbix.

Preprocessing failed for: {“/devices/\u0413\u0426 \u0427\u0438\u043b\u043b\u0435\u0440 1/controls/marked”: “1”, "/devices/.…

  1. Result: {“/devices/\u0413\u0426 \u0427\u0438\u043b\u043b\u0435\u0440 1/controls/marked”: “1”, "/devices/.…
  2. Failed: cannot extract value from json by path “$[”/devices/ГЦ Чиллер 1/controls/Давление гликоля в подающем трубопроводе"]": no data matches the specified path

Как решить эту проблему?

Уйти от русского языка в названии
Это коды Unicode таблицы.

Ок,
А эту?

  1. Failed: cannot extract value from json by path “$[‘/devices/KC_TP1_IN2/controls/working on battery’]”: no data matches the specified path
    17410:20241203:094113.366 error reason for “KC TP2-1:working.on.battery” changed: Preprocessing failed for: {“/devices/KC_TP2_IN1/controls/Irms L1”: “1213.04”, “/devices/KC_TP2_IN1/controls/Irms L1/meta”: …
  2. Failed: cannot extract value from json by path “$[‘/devices/KC_TP2_IN1/controls/working on battery’]”: no data matches the specified path
    17410:20241203:094113.379 error reason for “GC TP4-2:working.on.battery” changed: Preprocessing failed for: {“/devices/GC_TP4_IN2/controls/Irms L1”: “983.6”, “/devices/GC_TP4_IN2/controls/Irms L1/meta”: "{…
  3. Failed: cannot extract value from json by path “$[‘/devices/GC_TP4_IN2/controls/working on battery’]”: no data matches the specified path
    17410:20241203:094113.400 error reason for “GC TP1-1:working.on.battery” changed: Preprocessing failed for: {“/devices/GC_TP1_IN1/controls/Irms L1”: “320.03999999999996”, "/devices/GC_TP1_IN1/controls/Irms…
  4. Failed: cannot extract value from json by path “$[‘/devices/GC_TP1_IN1/controls/working on battery’]”: no data matches the specified path

Если покажете что у вас за выражение jsonnpath в припроцессинге и какие данные получаете - то могу сказать что не так