Zabbix: различия между версиями

Материал из Wiren Board
 
(не показано 16 промежуточных версий 4 участников)
Строка 1: Строка 1:
<languages/>
== Подготовка ==
<translate>
<!--T:1-->
См. также:
Нативный мост в Zabbix: https://github.com/contactless/wb-mqtt-zabbix
Пакеты в разделе Releases.


== Подготовка == <!--T:2-->
Нужно поставить zabbix-agent:


<!--T:3-->
<syntaxhighlight lang="bash">
Нужно поставить zabbix-agent:
apt update && apt install zabbix-agent -y
</syntaxhighlight>


<!--T:4-->
В нашем репозитории только первая версия агента, но вы можете установить вторую версию на сервер с Zabbix (или на контроллер) и подключиться к MQTT контроллера оттуда.
<pre>
apt-get install zabbix-agent
</pre>


== Настройка Zabbix Agent == <!--T:5-->
== Настройка Zabbix Agent ==  


<!--T:6-->
Получение значений переменных в Zabbix происходит через чтение retained-значений каналов.
Для получения значений переменных в Zabbix используется чтение retained-значений каналов.


<!--T:7-->
Для работы zabbix-агента ему нужно дать расширенные права доступа. Поэтому потребуется установить <code>sudo</code>:
Для настройки zabbix-agent нужно создать файл
<syntaxhighlight lang="bash">
<pre>
apt install sudo -y
zabbix-mqtt.conf
</syntaxhighlight>
</pre>


<!--T:8-->
Предоставить нужные права пользователю zabbix можно командой:
в директории
<syntaxhighlight lang="bash">
<pre>
echo 'zabbix ALL=(ALL) NOPASSWD: /usr/bin/mosquitto_sub' > /etc/sudoers.d/zabbix-mqtt
/etc/zabbix/zabbix_agentd.d/
</syntaxhighlight>
</pre>


<!--T:9-->
Далее необходимо создать файл <code>zabbix-mqtt.conf</code> в директории <code>/etc/zabbix/zabbix_agentd.conf.d/</code> и записать в него строку:
со следующим содержимым:


<!--T:10-->
<pre>
<pre>
UserParameter=mqtt.value[*],mosquitto_sub -t '$1' -C 1
UserParameter=mqtt.value[*], sudo mosquitto_sub -t '$1' -C 1
</pre>
</pre>


== Использование == <!--T:11-->
Это можно сделать одной командой:
<syntaxhighlight lang="bash">
echo "UserParameter=mqtt.value[*], sudo mosquitto_sub -t '\$1' -C 1" > /etc/zabbix/zabbix_agentd.conf.d/zabbix-mqtt.conf
</syntaxhighlight>
 
== Использование ==


<!--T:12-->
Обращение к каналам в Zabbix происходит следующим образом:
Обращение к каналам в Zabbix происходит следующим образом:
<pre>
<pre>
Строка 49: Строка 41:
</pre>
</pre>


<!--T:13-->
где topic - топик соответствущего канала в [[Special:MyLanguage/MQTT|MQTT]]
где topic - топик соответствущего канала в [[Special:MyLanguage/MQTT|MQTT]]


<!--T:14-->
например:
например:


<!--T:15-->
<pre>
<pre>
mqtt.value[/devices/sht1x/controls/humidity]
mqtt.value[/devices/sht1x/controls/humidity]
mqtt.value[/devices/sht1x/controls/temperature]
mqtt.value[/devices/sht1x/controls/temperature]
</pre>
</pre>
</translate>
 
Пример теста агента, запускать на контроллере:
<syntaxhighlight lang="bash">
zabbix_agentd -t mqtt.value[/devices/buzzer/controls/frequency]
</syntaxhighlight>
 
==Полезные ссылки==
* [https://github.com/contactless/wb-mqtt-zabbix Репозиторий с устаревшим нативным мостом в Zabbix]. Пакеты в разделе [https://github.com/wirenboard/wb-mqtt-zabbix/releases Releases].
* Статья на Хабре «[https://habr.com/ru/post/525852/ Zabbix + Wirenboard: мониторинг производства]» — подробное описание создания системы с Wiren Board и Zabbix. В статье используется плагин, написанный пользователем — [https://github.com/v-zhuravlev/zbx_mqtt zbx_mqtt]
* [https://support.wirenboard.com/t/zabbix-agent-dlya-kontrollera/18376 Пакет с агентом v.6.4.10]

Текущая версия на 14:49, 31 января 2024

Подготовка

Нужно поставить 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]

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