Команда snmpgetnext
Назначение команды
Команда snmpgetnext
служит для запроса значений переменных плат блока MC04-DSL-3U (чтения переменных). Данная команда почти полностью аналогична команде snmpget, и отличается от нее лишь тем, что вместо значения переменной, переданной в запросе, возвращает значение следующей за указанной в запросе переменной. Команда snmpgetnext
в-основном служит для внутренних целей платы SW-01 - реализации запроса GETNEXT протокола SNMP.
Ключи запроса
См. описание ключей запроса команды snmpget.
Права доступа
См. описание прав доступа команды snmpget.
Возвращаемые данные
См. описание возвращаемых данных команды snmpget.
В отличие от команды snmpget, в возвращаемых командой snmpgetnext
данных поле oid
объекта с результатом чтения значения переменной содержит не OID запрошенной переменной, а OID, следующий в MIB платы непосредственно за запрошенным. При этом ключи объекта result
будут, как и при использовании команды snmpget, иметь значения, указанные в запросе.
Для примера предположим, что в слоте 9 установлена плата "AB-12", имеющая переменные .1.0
, .2.0
, .3.0
, .4.0
, .5.0
, .7.1.1.0
, .7.1.2.0
и т.д. Запрос {"cmd":"snmpgetnext","varlist":[".4.9.1.0"]}
вернет такой ответ:
{ "cmd":"snmpgetnext", "result": { ".4.9.1.0": { "oid":".4.9.2.0", "status":"OK", "value":"AB-12" } } }
При указании в запросе нескольких OID для каждого из них будет возвращено значение следующей переменной. Например запрос {"cmd":"snmpgetnext","varlist":[".4.9.1.0", ".4.9.7.1.1.0"]}
вернет такой ответ:
{ "cmd":"snmpgetnext", "result": { ".4.9.1.0": { "oid":".4.9.2.0", "status":"OK", "value":"AB-12" }, ".4.9.7.1.1.0": { "oid":".4.9.7.1.2.0", "status":"OK", "value":12345 } } }
Так как обращения к переменным, указываемым в запросе, не происходит, а указываемые строки служат только для поиска следующего OID в MIB платы, допустимо указывать в запросе неполный OID или OID несуществующей переменной. Например запрос {"cmd":"snmpgetnext","varlist":[".4.9.2", ".4.9.6.0"]}
вернет такой ответ:
{ "cmd":"snmpgetnext", "result": { ".4.9.2": { "oid":".4.9.2.0", "status":"OK", "value":"AB-12" }, ".4.9.6.0": { "oid":".4.9.7.1.1.0", "status":"OK", "value":530 } } }
В случае, если в блоке нет переменных с OID, следующим за запрошенным командой snmpgetnext
, для запрошенного OID возвращается результат со статусом UNKNOWN
и полем oid
, имеющим значение запрошенного. Например запрос {"cmd":"snmpgetnext","varlist":[".4.21.199.0"]}
вернет такой ответ:
{ "cmd":"snmpgetnext", "result": { ".4.20": { "oid":".4.20", "status":"UNKNOWN" } } }