wiki:ApiSnmpgetnext

Команда 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"
    }
  }
}

См. также

команда snmpget, команда snmpset

Last modified 2 years ago Last modified on Oct 29, 2022, 10:06:41 PM
Note: See TracWiki for help on using the wiki.