Не удается разобраться с драйвером SNMP

Доброго времени суток!

Не могу разобраться с чтением по протоколу SNMP. Поставил драйвер и делал следующее:

  1. Сделал конфиг и шаблон - попробовал найти изменения в интерфейсе, где бы смог видеть показания. Не нашел.
  2. Добавил вручную канал, туда же OID и прочие поля заполнил. Попробовал найти изменения в интерфейсе, где бы смог видеть показания. Не нашел.
  3. Теперь уже решил попробовать с тестовым шаблоном с Драйвер SNMP запустить и посмотреть изменения. Но снова не понял, где найти пункт для добавления в виджетах устройства с SNMP.
Фото

С Modbus проблем нет, за исключением, когда некоторые значения становятся красными и далее не обновляются. Но я вроде видел где-то упоминание об этом, потом попробую решить.

Буду рад, если пнете в нужном месте, ибо по драйверу как-то совсем мало информации и интуитивно понять не получается, а я 100% делаю что-то не так или не полностью понимаю может его назначение :sweat_smile:

Добрый день.
Для начала попробуйте прочитать те же OID с компьютера, например, с помощью snmpwalk как описано в конце статьи Агент SNMP — Wiren Board

Не совсем понимаю. Вы изменили записи под устройство которое опрашиваете?

Установку и работу с агентом я пропустил. Думал драйвера будет достаточно, ибо там не было упоминания о нем, если не ошибаюсь.
Вчера покопался в нём чутка. Сейчас буду с ним дальше разбираться.

Я же правильно понимаю, что при правильном исполнении - устройство отобразится в виджетах и можно его мониторить через Web-интерфейс? Или только обрабатывать их и иным способом выводить и передавать далее?

Извиняюсь, что могу задавать банальные вопросы, просто работу с этим протоколом начал недавно

Нет, установка не обязательна. Но желательно все ж проверить что OID читаются.

Да, и в интерфейсе и программно, в правилах, например.

Буквально на днях разбирался с драйвером, можете посмотреть мои примеры и настройки.

Что касается устройства - оно само появится в устройствах, если всё правильно настроено. Если изменений в конфигурации было много, то я перезапускал драйвер, а так в принципе он сам всё цеплял. Проверить правильности настройки конфига можно напрямую вызвав драйвер из командной строки: он будет выводить лог своей работы и сообщит об ошибках конфигурации.

1 лайк

snmpwalk -On -c public -v 2c 10.1.129.150 1.3.6.1.4.1.2254.2.4.4.4

Отвечаю с задержкой, так как не хотел по мелочи тревожить и хотел самостоятельно разобраться и уж только в безвыходной ситуации обращаться в форум. Добиться обнаружения устройства в списках виджета удалось, но к результату прийти - нет. Безвыходная ситуация, кажется, что наступила. Прилагаю все свои шаги и результаты ниже, думаю это ускорит процесс обнаружения моей ошибки/ошибок.

  1. Сходил по OID к своему устройству через WirenBoard - данные о статусах, влажности и температуре получаю.
snmpwalk

  1. Написал конфиг и шаблон
IP и OID

  1. Добавил устройство в конфигуратор драйвера
Устройство в конфиге драйвера

  1. Устройство появилось в списке, но вместе с ним и другое, которое я ранее уже удалял из конфига. Оно почему-то осталось, но проблема основная не в этом.
Список устройств при добавлении в виджет

  1. Сигналы здесь не получаю.
Виджет SNMP

image

Воспроизвожу.
Для примера беру два OID:

snmpwalk  -On -c public -v 2c 10.0.0.2 1.3.6.1.2.1.1.3.0
.1.3.6.1.2.1.1.3.0 = Timeticks: (42524800) 4 days, 22:07:28.00
snmpwalk  -On -c public -v 2c 10.0.0.2 .1.3.6.1.2.1.4.20.1.1.10.0.0.2
.1.3.6.1.2.1.4.20.1.1.10.0.0.2 = IpAddress: 10.0.0.2

Формирую шаблон /usr/share/wb-mqtt-snmp/templates/config-microtik-snmp.json

{
    "device_type": "microtik-snmp",
    "community": "public",
    "channels": [
        {
            "name": "uptime",
            "oid": "1.3.6.1.2.1.1.3.0",
            "control_type": "text",
            "enabled": true,
            "units": "s"
        },
        {
            "name": "Local IP",
            "oid": ".1.3.6.1.2.1.4.20.1.1.10.0.0.2",
            "control_type": "text"
        }

    ]
}



Конфигурирую


Ну и получаю:
Screenshot_20240715_135807

Спасибо за пошаговое пояснение со скринами! Исправил свои недочеты, подкорректировал и проверил себя

Ноо… Перепробовал разное:

  1. Взял в качестве названия устройства только нижние регистры, также переписал название файла без пробелов и верхних регистров
  2. Оставил только 2 OID, чтобы меньше шансов на ошибки было
Шаблон OID

image

  1. Попробовал писать OID с точкой в начале и без, так как в Вашем примере была эта неопределённость. В документации, вроде, было написано, что нужно без
  2. Ставил в качестве типа “value” и “text”
snpmwalk значение получает и всё хорошо

В конфигураторе, в принципе, ничего не поменялось

А вот в виджете ничего… Пробовал добавлять, удалять, обновлять - безрезультатно

Виджеты


image

Может я чего-то элементарного не сделал? Что-то банальное и простое упустил?

А что в логи выдает сервис?
Включите debug для него и покажите пожалуйста.

Нет, как раз если используем OID которого нету в mib (произвольный) - тогда точка нужна.
В вашем случае нужна, я использовал достаточно “стандартный” uptime для примера. С точкой он тоже работает, проверил.

Возможно. Могу посмотреть сам, добавьте контроллер в облако и пригласите support@wirenboard.com в организацию - проверю.

Отправил приглашение вам на почту

Так, а тут подробнее, пожалуйста. Если имеете в виду отладку в Web интерфейсе, то я её везде и всегда включаю, но пока окно сообщений ни разу ничем не заполнялось и было пустым

Отладка в Web

Благодарю за пояснение :blush:

Подключился, запланировал на сегодня разобраться, скорее после обеда.

Отлично! Ожидаю ответа :blush:

Увидел в логе:

Jul 17 14:46:34 wirenboard-A5V2CGTN wb-mqtt-snmp[22856]: ERROR: 2024/07/17 14:46:34 error parsing config file /etc/wb-mqtt-snmp.conf: no such template: moxa-di

Переименовал конфиг, сам файл в /usr/share/wb-mqtt-snmp/templates/config-moxa-oids.json
То есть добавил к имени “config-”
Получаю:
Screenshot_20240717_124937
В общем пойду гляну в документации и исходниках, почему так.

1 лайк

Да, не забудьте выключить “debug” для сервиса.

1 лайк

Ааа, то есть префикс обязателен… Спасибо большое! Очень выручили :heart:

А, и подскажите, пожалуйста, как убрать пункты из выпадающего списка, если они нигде не указаны? Перезагрузка контроллера не помогает.

Старые пункты в выпадающем списке

Очистить retain значения в mqtt.

1 лайк