Zabbix: различия между версиями
(не показано 19 промежуточных версий 6 участников) | |||
Строка 1: | Строка 1: | ||
== Подготовка == | |||
Нужно поставить zabbix-agent: | Нужно поставить zabbix-agent: | ||
< | <syntaxhighlight lang="bash"> | ||
apt | apt update && apt install zabbix-agent -y | ||
</ | </syntaxhighlight> | ||
В нашем репозитории только первая версия агента, но вы можете установить вторую версию на сервер с Zabbix (или на контроллер) и подключиться к MQTT контроллера оттуда. | |||
== Настройка Zabbix Agent == | |||
Получение значений переменных в Zabbix происходит через чтение retained-значений каналов. | |||
= | Для работы zabbix-агента ему нужно дать расширенные права доступа. Поэтому потребуется установить <code>sudo</code>: | ||
<syntaxhighlight lang="bash"> | |||
apt install sudo -y | |||
</syntaxhighlight> | |||
Предоставить нужные права пользователю 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> и записать в него строку: | |||
< | |||
zabbix-mqtt.conf | |||
</ | |||
<pre> | <pre> | ||
UserParameter=mqtt.value[*], sudo 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> | ||
Строка 36: | Строка 41: | ||
</pre> | </pre> | ||
где topic - топик соответствущего канала в [[MQTT]] | где topic - топик соответствущего канала в [[Special:MyLanguage/MQTT|MQTT]] | ||
например: | например: | ||
Строка 45: | Строка 49: | ||
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] |
Версия 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]
Полезные ссылки
- Репозиторий с устаревшим нативным мостом в Zabbix. Пакеты в разделе Releases.
- Статья на Хабре «Zabbix + Wirenboard: мониторинг производства» — подробное описание создания системы с Wiren Board и Zabbix. В статье используется плагин, написанный пользователем — zbx_mqtt
- Пакет с агентом v.6.4.10