wb_editors
154
правки
N.maslov (обсуждение | вклад) (Новая страница: «'''SNMP (Simple Network Management Protocol)''' - стандартный протокол для управления сетевыми устройствами в…») |
N.maslov (обсуждение | вклад) |
||
Строка 78: | Строка 78: | ||
| '''id''' || string || ID устройства в MQTT || Нет || snmp_[address]_[community] | | '''id''' || string || ID устройства в MQTT || Нет || snmp_[address]_[community] | ||
|- | |- | ||
| '''address''' || string || Сетевой адрес устройства || Да || - | | '''address''' || string || Сетевой адрес устройства || style="background: #22EE44;" | Да || - | ||
|- | |- | ||
| '''device_type''' || string || Тип устройства (нужен для загрузки шаблона) || Нет || - | | '''device_type''' || string || Тип устройства (нужен для загрузки шаблона) || Нет || - | ||
Строка 84: | Строка 84: | ||
| '''enabled''' || bool || Включить устройство в опрос? || Нет || true | | '''enabled''' || bool || Включить устройство в опрос? || Нет || true | ||
|- | |- | ||
| '''community''' || string || Имя сообщества SNMP || Да || - | | '''community''' || string || Имя сообщества SNMP || style="background: #22EE44;" | Да || - | ||
|- | |- | ||
| '''oid_prefix''' || string || Префикс (имя MIB) для текстовых OID каналов, где оный не указан явно || Нет || - | | '''oid_prefix''' || string || Префикс (имя MIB) для текстовых OID каналов, где оный не указан явно || Нет || - | ||
Строка 91: | Строка 91: | ||
|- | |- | ||
| '''snmp_timeout''' || integer || Время ожидания ответа (в секундах) || Нет || 5 | | '''snmp_timeout''' || integer || Время ожидания ответа (в секундах) || Нет || 5 | ||
|- | |||
| '''poll_interval''' || integer || Минимальное время опроса для каждого канала по умолчанию || Нет || - | |||
|- | |- | ||
| '''channels''' || array || Описание каналов устройства (переменных SNMP) || Нет || - | | '''channels''' || array || Описание каналов устройства (переменных SNMP) || Нет || - | ||
|- | |- | ||
|} | |} | ||
==== Описание каналов ==== | |||
{| class="wikitable" | |||
|- | |||
! Имя параметра !! Тип !! Описание !! Обязательный !! Значение по умолчанию | |||
|- | |||
| '''name''' || string || Имя канала || style="background: #22EE44;" | Да || - | |||
|- | |||
| '''oid''' || string || OID в числовом или текстовом виде || style="background: #22EE44;" | Да || - | |||
|- | |||
| '''control_type''' || string || Тип данных (согласно [https://github.com/contactless/homeui/blob/contactless/conventions.md Conventions]) || Нет || text | |||
|- | |||
| '''units''' || string || Обозначение единиц измерения (для control_type == value) || Нет || - | |||
|- | |||
| '''scale''' || float || Множитель (для числовых значений) || Нет || 1.0 | |||
|- | |||
| '''poll_interval''' || int || Минимальный интервал опроса канала (в мс) || Нет || poll_interval из описания устройства, либо 1000 | |||
|- | |||
|} | |||
==== Преобразование OID ==== | |||
Если OID представлен в числовом виде (начинается с точки: .1.2.3.4), никакого преобразования не происходит. | |||
Если OID представлен в текстовом виде (например, SNMPv2-MIB::sysName.0), необходимо, чтобы в системе был установлен соответствующий MIB, содержащий описание этой переменной. | |||
Преобразование имён происходит с помощью вызова утилиты snmptranslate, так что можно проверить наличие MIB вручную с помощью команды | |||
<syntaxhighlight lang="bash"> | |||
# snmptranslate -On oid | |||
</syntaxhighlight> | |||
Параметр '''oid_prefix''' в описании устройства позволяет опустить имя MIB (префикс; '''SNMPv2-MIB'''::sysName.0). В этом случае, префикс из '''oid_prefix''' будет автоматически | |||
присоединён ко всем OID каналов устройства, где явно не указан префикс. Например, при '''oid_prefix''' = SNMPv2-MIB: | |||
* sysName.0 -> '''SNMPv2-MIB::'''sysName.0 | |||
* sysLocation.0 -> '''SNMPv2-MIB::'''sysLocation.0 | |||
* HOST-RESOURCES-MIB::hrSystemUptime.0 -> HOST-RESOURCES-MIB::hrSystemUptime.0 | |||
* .1.3.6.1.2.1.1.6.0 -> .1.3.6.1.2.1.1.6.0 | |||
==== Установка MIB ==== | |||
Если у Вас есть требуемый MIB-файл, то достаточно скопировать его в директорию /root/.snmp/mibs, предварительно создав её: | |||
<syntaxhighlight lang="bash"> | |||
# mkdir -p /root/.snmp/mibs | |||
# cp your-mibs-file.mib /root/.snmp/mibs | |||
</syntaxhighlight> | |||
После этого проверьте правильность работы snmptranslate с каким-либо известным OID: | |||
<syntaxhighlight lang="bash"> | |||
# snmptranslate -On oid | |||
</syntaxhighlight> | |||
=== Шаблоны === | === Шаблоны === |