Подтверждаю.
Но грабли с кучей сервисов - слишком.
Будем ждать решения от 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/.…
- Result: {“/devices/\u0413\u0426 \u0427\u0438\u043b\u043b\u0435\u0440 1/controls/marked”: “1”, "/devices/.…
- Failed: cannot extract value from json by path “$[”/devices/ГЦ Чиллер 1/controls/Давление гликоля в подающем трубопроводе"]": no data matches the specified path
Как решить эту проблему?
Уйти от русского языка в названии
Это коды Unicode таблицы.
Ок,
А эту?
- 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”: … - 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”: "{… - 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… - Failed: cannot extract value from json by path “$[‘/devices/GC_TP1_IN1/controls/working on battery’]”: no data matches the specified path
Если покажете что у вас за выражение jsonnpath в припроцессинге и какие данные получаете - то могу сказать что не так