Zabbix

This is the approved revision of this page, as well as being the most recent.

Подготовка

Нужно поставить zabbix-agent:

apt update && apt install zabbix-agent -y

В нашем репозитории только первая версия агента, но вы можете установить вторую версию на сервер с Zabbix (или на контроллер) и подключиться к MQTT контроллера оттуда.

Настройка Zabbix Agent

Получение значений переменных в Zabbix происходит через чтение retained-значений каналов.

Для работы zabbix-агента ему нужно дать расширенные права доступа. Поэтому потребуется установить sudo:

apt install sudo -y

Предоставить нужные права пользователю zabbix можно командой:

echo 'zabbix ALL=(ALL) NOPASSWD: /usr/bin/mosquitto_sub' > /etc/sudoers.d/zabbix-mqtt

Далее необходимо создать файл zabbix-mqtt.conf в директории /etc/zabbix/zabbix_agentd.conf.d/ и записать в него строку:

UserParameter=mqtt.value[*], sudo mosquitto_sub -t '$1' -C 1

Это можно сделать одной командой:

echo "UserParameter=mqtt.value[*], sudo mosquitto_sub -t '\$1' -C 1" > /etc/zabbix/zabbix_agentd.conf.d/zabbix-mqtt.conf

Использование

Обращение к каналам в Zabbix происходит следующим образом:

mqtt.value[topic]

где topic - топик соответствущего канала в MQTT

например:

mqtt.value[/devices/sht1x/controls/humidity]
mqtt.value[/devices/sht1x/controls/temperature]

Пример теста агента, запускать на контроллере:

zabbix_agentd -t mqtt.value[/devices/buzzer/controls/frequency]

Полезные ссылки