Changes between Initial Version and Version 1 of ApiSnmpgetnext


Ignore:
Timestamp:
Oct 29, 2022, 10:06:41 PM (19 months ago)
Author:
alx
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ApiSnmpgetnext

    v1 v1  
     1=  Команда snmpgetnext  =
     2
     3== Назначение команды ==
     4
     5Команда `snmpgetnext` служит для запроса значений переменных плат блока MC04-DSL-3U (чтения переменных). Данная команда почти полностью аналогична команде [ApiSnmpget snmpget], и отличается от нее лишь тем, что вместо значения переменной, переданной в запросе, возвращает значение **следующей** за указанной в запросе переменной. Команда `snmpgetnext` в-основном служит для внутренних целей платы SW-01 - реализации запроса GETNEXT протокола SNMP.
     6
     7== Ключи запроса ==
     8
     9См. описание ключей запроса команды [ApiSnmpget snmpget].
     10
     11== Права доступа ==
     12
     13См. описание прав доступа команды [ApiSnmpget snmpget].
     14
     15== Возвращаемые данные ==
     16
     17См. описание возвращаемых данных команды [ApiSnmpget snmpget].
     18
     19В отличие от команды [ApiSnmpget snmpget], в возвращаемых командой `snmpgetnext` данных поле `oid` объекта с результатом чтения значения переменной содержит не OID запрошенной переменной, а OID, следующий в MIB платы непосредственно за запрошенным. При этом ключи объекта `result` будут, как и при использовании команды [ApiSnmpget snmpget], иметь значения, указанные в запросе.
     20
     21Для примера предположим, что в слоте 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"]}` вернет такой ответ:
     22
     23{{{
     24{
     25  "cmd":"snmpgetnext",
     26  "result": {
     27    ".4.9.1.0": {
     28      "oid":".4.9.2.0",
     29      "status":"OK",
     30      "value":"AB-12"
     31    }
     32  }
     33}
     34}}}
     35
     36При указании в запросе нескольких OID для каждого из них будет возвращено значение следующей переменной. Например запрос `{"cmd":"snmpgetnext","varlist":[".4.9.1.0", ".4.9.7.1.1.0"]}` вернет такой ответ:
     37
     38{{{
     39{
     40  "cmd":"snmpgetnext",
     41  "result": {
     42    ".4.9.1.0": {
     43      "oid":".4.9.2.0",
     44      "status":"OK",
     45      "value":"AB-12"
     46    },
     47    ".4.9.7.1.1.0": {
     48      "oid":".4.9.7.1.2.0",
     49      "status":"OK",
     50      "value":12345
     51    }
     52  }
     53}
     54}}}
     55
     56Так как обращения к переменным, указываемым в запросе, не происходит, а указываемые строки служат только для поиска следующего OID в MIB платы, допустимо указывать в запросе неполный OID или OID несуществующей переменной. Например запрос `{"cmd":"snmpgetnext","varlist":[".4.9.2", ".4.9.6.0"]}` вернет такой ответ:
     57
     58{{{
     59{
     60  "cmd":"snmpgetnext",
     61  "result": {
     62    ".4.9.2": {
     63      "oid":".4.9.2.0",
     64      "status":"OK",
     65      "value":"AB-12"
     66    },
     67    ".4.9.6.0": {
     68      "oid":".4.9.7.1.1.0",
     69      "status":"OK",
     70      "value":530
     71    }
     72  }
     73}
     74}}}
     75
     76В случае, если в блоке нет переменных с OID, следующим за запрошенным командой `snmpgetnext`, для запрошенного OID возвращается результат со статусом `UNKNOWN` и полем `oid`, имеющим значение запрошенного. Например запрос `{"cmd":"snmpgetnext","varlist":[".4.21.199.0"]}` вернет такой ответ:
     77
     78{{{
     79{
     80  "cmd":"snmpgetnext",
     81  "result": {
     82    ".4.20": {
     83      "oid":".4.20",
     84      "status":"UNKNOWN"
     85    }
     86  }
     87}
     88}}}
     89
     90== См. также ==
     91
     92[ApiSnmpget команда snmpget], [ApiSnmpset команда snmpset]