Как работать с базой данных HIstory. wb-mqtt-db

боюсь под python3 мы это не тестировали, только под python2

Хорошо. Какие предложения? Не использовать эту утилиту? Использовать сторонние сервисы для получения данных из базы?

… а я вам о чем…

использовать python2 ?

Нам не нужен контроллер, у которого нет доступного способа выгружать из него данные напрямую без использования услуг сторонних провайдеров при прямом проводном подключении.

Хотелось бы получить ответ от производителя насчет такого сервиса.
Какой сервис вы тестировали и можете гарантировать его 100% работу?

Уважаемый Станислав, мы вам дали рабочую утилиту, дали веб-интерфейс, дали API для внутреннего сервиса. Дали 200 страниц документации.

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

Мне кажется, что вам просто нужно инженера нанять, который за скромную зарплату разберётся со всем этим за два часа.

4 лайка

Написал инструкцию по установке wb-mqtt-db-cli на контроллер: https://wirenboard.com/wiki/index.php/Wb-mqtt-db-cli

Вам удалось запустить wb-mqtt-zabbix? У меня та же проблема, при добавлении шаблонов zabbix API error -32602.
Версия zabbix 3.4.14

Нет, из мануала не было понятно как действовать. Запустить на тот момент не удаkось. Просто установил забикс агент и на отдельном сервере заббикс вручную вводил нужные мне топики для контроля

И мне не удалось. deploy шаблона и хоста валится с ошибкой api. выдернул с git шаболоны в xml и импортировал в заббикс - вроде все красивно, но не работает, отправка так и не заработала, хотя ответ от заббикса есть. Пытался дампнуть трафик и сожать item руками - не помогло. Проект интересный, но не понятно живой ли?!

Если по делу: последний раз wb-mqtt-zabbix стоял в продакшн с Zabbix 2.2. Видимо с тех пор что-то сломалось в АПИ. Нет, чинить мы это сами не будем: коммерческих внедрений с свежим заббиксом нет, а для простых задач хватит других способов интеграции: через mosquitto_sub в агенте, через MQTT и Modbus TCP наверху.

С API понятно, шаблоны можно и руками подкинуть в заббикс, а вот в инструкции https://github.com/contactless/wb-mqtt-zabbix похоже есть ошибка в строке с тестированием LLD

zabbix_sender -c /etc/zabbix/zabbix_agentd.conf -vv -k mqtt.lld -o ‘{“data”:[{ “{#MQTTNAME}”:"/devices/test/123" }, { “{#MQTTNAME}”:"/devices/test/321" }]}’

Попытка создать item без key, должно быть так:

… -o ‘{“data”: [{"{#MQTTNAME}": “TopicName”,"{#MQTTTOPIC}": “/devices/TopecName/123”}]}’ -vv

Попытки руками создать и записать - работают, но wb-mqtt-zabbix так и не отправляет.

Ну да, но нет. Чтобы mosquitto_sub работал нужно не удалять топики из mqtt (ключ retain), это означает что в топике всегда будет последнее значение и это не всегда хорошо. Датчик может отвалиться и престать посылать данные, но они будут в mqtt и заббикс будет рисовать прямую линию. Выловить проблему с датчиком по “no data” не получится.

Что ты такого избежать, к значению датчика дополнительно вводят время его последнего обновления, а в алгоритм вводят время актуальности жизни, которое можно принять в рассмотрение.

Введение времени обновления позволяет строить и производные сигналы (используя виртуальное устройство, например): если значение с датчика не поступает в течение определенного времени, то выдавать определенное значение, которое является индикатором отсутствия связи.

Вариант, но не такой изящный как отправлять данные в мониторинг сразу после их поступления с устройства. Изобретать программную прослойку с виртуальными устройствами не очень удобно. Особенно если речь идет о радио устройствах типа Lora - могут прислать данные, могут и нет.

Изобретать программные прослойки не то, что “не очень удобно”, это необходимо для построения надежной и легко поддерживаемой системы.

Каждая такая прослойка убирает “шороховатости” на нижнем уровне и адаптирует/нормализует/преобразует данные до вида и свойств, которые требуются следующему уровню системы.

Существует и терминология, и шаблоны по построению таких прослоек, см., например: https://www.enterpriseintegrationpatterns.com/patterns/messaging/toc.html

Книга "Шаблоны корпоративных приложений"

…Создание компьютерных систем - дело далеко не простое. По мере того как возрастает их сложность, процессы конструирования соответствующего программного обеспечения становятся все более трудоемкими, причем затраты труда растут экспоненциально. Как и в любой профессии, прогресс в программировании достигается исключительно путем обучения, причем не только на ошибках, но и на удачах - как своих, так и чужих. Книга дает ответы на трудные вопросы, с которыми приходится сталкиваться всем разработчикам корпоративных систем.

Автор, известный специалист в области объектно-ориентированного программирования, заметил, что с развитием технологий базовые принципы проектирования и решения общих проблем остаются неизменными, и выделил более 40 наиболее употребительных подходов, оформив их в виде типовых решений. Результат перед вами - незаменимое руководство по архитектуре программных систем для любой корпоративной платформы. Это своеобразное учебное пособие поможет вам не только усвоить информацию, но и передать полученные знания окружающим значительно быстрее и эффективнее, чем это удавалось автору.

Книга предназначена для программистов, проектировщиков и архитекторов, которые занимаются созданием корпоративных приложений и стремятся повысить качество принимаемых стратегических решений…

https://www.ozon.ru/context/detail/id/4884925/

Книга: Шаблоны интеграции корпоративных приложений

В данной книге исследуются стратегии интеграции корпоративных приложений с помощью механизмов обмена сообщениями. Авторы рассматривают шаблоны проектирования и приводят практические примеры интеграции приложений, демонстрирующие преимущества обмена сообщениями и эффективность решений, создаваемых на основе этой технологии. Каждый шаблон сопровождается описанием некоторой задачи проектирования, обсуждением исходных условий и представлением элегантного, сбалансированного решения. Авторы подчеркивают как преимущества, так и недостатки обмена сообщениями, а также дают практические советы по написанию кода подключения приложения к системе обмена сообщениями, маршрутизации сообщений и мониторинга состояния системы.

Книга ориентирована на разработчиков программного обеспечения и системных интеграторов, использующих различные технологии и продукты для обмена сообщениями, такие как Java Message Service (JMS), Microsoft Message Queuing (MSMQ), IBM WebSphere MQ, Microsoft BizTalk, TIBCO, WebMethods, SeeBeyond, Vitria и др.

https://rsdn.org/res/book/prog/IntegrationPatterns.xml

ИМХО

история хранится в sqlite, не проще ли делать из него выборки и или их по почте в формате csv ( sqlite умеет это сам делать) отсылать или в базу забикса (или чего там еще) импортировать? Зачем такая куча промежуточных механизмов?

dead_Ivanich, правильно ли я понимаю, что через zabbix можно вытаскивать только текущие значения, а архивные вытащить таким образом не получится?