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

Материал из Wiren Board
Строка 42: Строка 42:
</syntaxhighlight>
</syntaxhighlight>


Установите на права:
Установите права:
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
chmod a+rx /var/lib/snmp/mqtt-snmp.sh
chmod a+rx /var/lib/snmp/mqtt-snmp.sh

Версия 19:06, 21 января 2021

Контроллер как источник SNMP

Иногда нужно получать какие-то параметры из контроллера по SNMP, например, значения топиков. Для реализации требуется установить и настроить на контроллере агента SNMP.

Установка и предварительная настройка пакетов

Обновите источники и установите пакеты snmp и snmpd:

apt update && apt-get install snmp snmpd -y

Отредактируйте основной файл конфигурации демона:

mcedit /etc/snmp/snmpd.conf

В секцию # ACCESS CONTROL допишите строчку:

view   systemonly  included   .1.3.6.1.4.1.2021.8

А в конец файла допишите ссылку на скрипт:

extend .1.3.6.1.4.1.2021.8 tt /var/lib/snmp/mqtt-snmp.sh

Добавление скрипта

Отредактируйте скрипт /var/lib/snmp/mqtt-snmp.sh

mcedit /var/lib/snmp/mqtt-snmp.sh

И приведите его к виду:

#!/bin/sh
echo "mosquitto topics"
# voltage Vout
echo $(/usr/bin/mosquitto_sub -C 1 -t "/devices/wb-adc/controls/5Vout")
# voltage Vin
echo $(/usr/bin/mosquitto_sub -C 1 -t "/devices/wb-adc/controls/Vin")

Установите права:

chmod a+rx /var/lib/snmp/mqtt-snmp.sh

Теперь добавляем в этот скрипт нужные топики, или создаем несколько скриптов с разными наборами. Если вы создаете несколько скриптов, не забудьте дописать ссылки на них в конец файла /etc/snmp/snmpd.conf.

После сохранения изменений в скрипте, перезапустите демон snmpd:

systemctl restart snmpd && systemctl status snmpd

Можно протестировать:

snmpwalk -On -v2c -c public 127.0.0.1 1.3.6.1.4.1.2021.8.4