|
|
(не показано 20 промежуточных версий 7 участников) |
Строка 1: |
Строка 1: |
| == Подготовка == | | == Подготовка == |
| | |
| Нужно поставить zabbix-agent: | | Нужно поставить zabbix-agent: |
|
| |
|
| <syntaxhighlight lang="bash"> | | <pre> |
| apt update && apt install zabbix-agent -y | | apt-get install zabbix-agent |
| </syntaxhighlight> | | </pre> |
|
| |
|
| В нашем репозитории только первая версия агента, но вы можете установить вторую версию на сервер с Zabbix (или на контроллер) и подключиться к MQTT контроллера оттуда.
| | == Настройка Zabbix Agent == |
|
| |
|
| == Настройка Zabbix Agent ==
| | Для получения значений переменных в Zabbix используется чтение retained-значений каналов. |
|
| |
|
| Получение значений переменных в Zabbix происходит через чтение retained-значений каналов.
| | Для настройки zabbix-agent нужно создать файл |
| | <pre> |
| | zabbix-mqtt.conf |
| | </pre> |
|
| |
|
| Для работы zabbix-агента ему нужно дать расширенные права доступа. Поэтому потребуется установить <code>sudo</code>:
| | в директории |
| <syntaxhighlight lang="bash"> | | <pre> |
| apt install sudo -y
| | /etc/zabbix/zabbix_agentd.d/ |
| </syntaxhighlight> | | </pre> |
|
| |
|
| Предоставить нужные права пользователю zabbix можно командой:
| | со следующим содержимым: |
| <syntaxhighlight lang="bash">
| |
| echo 'zabbix ALL=(ALL) NOPASSWD: /usr/bin/mosquitto_sub' > /etc/sudoers.d/zabbix-mqtt
| |
| </syntaxhighlight>
| |
| | |
| Далее необходимо создать файл <code>zabbix-mqtt.conf</code> в директории <code>/etc/zabbix/zabbix_agentd.conf.d/</code> и записать в него строку:
| |
|
| |
|
| <pre> | | <pre> |
| UserParameter=mqtt.value[*], sudo mosquitto_sub -t '$1' -C 1 | | UserParameter=mqtt.value[*],mosquitto_sub -t '$1' -C 1 |
| </pre> | | </pre> |
|
| |
|
| Это можно сделать одной командой:
| | == Использование == |
| <syntaxhighlight lang="bash">
| |
| echo "UserParameter=mqtt.value[*], sudo mosquitto_sub -t '\$1' -C 1" > /etc/zabbix/zabbix_agentd.conf.d/zabbix-mqtt.conf
| |
| </syntaxhighlight>
| |
| | |
| == Использование == | |
| | |
| Обращение к каналам в Zabbix происходит следующим образом: | | Обращение к каналам в Zabbix происходит следующим образом: |
| <pre> | | <pre> |
Строка 41: |
Строка 32: |
| </pre> | | </pre> |
|
| |
|
| где topic - топик соответствущего канала в [[Special:MyLanguage/MQTT|MQTT]] | | где topic - топик соответствущего канала в [[MQTT]] |
| | |
|
| |
|
| например: | | например: |
Строка 49: |
Строка 41: |
| mqtt.value[/devices/sht1x/controls/temperature] | | mqtt.value[/devices/sht1x/controls/temperature] |
| </pre> | | </pre> |
|
| |
| Пример теста агента, запускать на контроллере:
| |
| <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]
| |
Подготовка
Нужно поставить zabbix-agent:
apt-get install zabbix-agent
Настройка Zabbix Agent
Для получения значений переменных в Zabbix используется чтение retained-значений каналов.
Для настройки zabbix-agent нужно создать файл
zabbix-mqtt.conf
в директории
/etc/zabbix/zabbix_agentd.d/
со следующим содержимым:
UserParameter=mqtt.value[*],mosquitto_sub -t '$1' -C 1
Использование
Обращение к каналам в Zabbix происходит следующим образом:
mqtt.value[topic]
где topic - топик соответствущего канала в MQTT
например:
mqtt.value[/devices/sht1x/controls/humidity]
mqtt.value[/devices/sht1x/controls/temperature]