Changes between Version 1 and Version 2 of ApiSnmpget


Ignore:
Timestamp:
Jul 31, 2022, 1:48:01 PM (2 years ago)
Author:
alx
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ApiSnmpget

    v1 v2  
    3232== Возвращаемые данные ==
    3333
    34 В случае успешного выполнения команда `snmpget` возвращает ключ `result`, значением которого является объект, содержащий результаты чтения переменных. :
     34В случае успешного выполнения команда `snmpget` возвращает ключ `result`, значением которого является объект, содержащий результаты чтения переменных. Ключами объекта `result` являются OID переменных, которые были переданы в поле `varlist` запроса. Значением является объект, содержащий результат чтения запрошенной переменной, и имеющий следующий формат:
    3535
    36 ||  '''Ключ'''  ||  '''Тип значения'''  ||  '''Описание'''  ||
     36||  '''Ключ'''  ||  '''Тип значения'''  ||  '''обязательный'''  ||  '''Описание'''  ||
     37||  oid  ||  строка  ||  да  || OID прочитанной переменной - значение совпадает с ключом объекта `result`. ||
     38||  status  ||  строка  ||  да  || Индикатор успешности чтения данной переменной - см. ниже ||
     39||  value  ||  разный  ||  нет  || Значение, прочитанной из переменной. Присутствует только в случае успешного чтения (`status` == "OK"). ||
    3740
    38 Пример ответа:
     41Возможные значения поля `status`:
     42
     43||  '''значение'''  ||  '''описание'''  ||
     44||  "OK"  || Чтение переменной выполнено успешно. Прочитанное значение содержится в поле `value`. ||
     45||  "Not found"  || Запрошенная переменная отсутствует (неверный OID) ||
     46||  "Access denied"  || Запрошенная переменная имеет тип "только для записи" ||
     47||  "Timeout"  || Плата, которая содержит переменную, не ответила на запрос чтения (время ожидания ответа истекло) ||
     48||  "Error"  || Плата, содержащая запрошенную переменную, вернула ошибку. ||
     49
     50=== Примеры ответов: ===
     51
     52Пример ответа на запрос (1):
    3953
    4054{{{
     55{
     56  "cmd":"snmpget",
     57  "result": {
     58    ".4.2.2.0": {
     59      "oid":".4.2.2.0",
     60      "status":"OK",
     61      "value":"ST-124"
     62    },
     63    ".4.3.2.0": {
     64      "oid":".4.3.2.0",
     65      "status":"OK",
     66      "value":"E1-08"
     67    }
     68  }
     69}
    4170}}}
    4271
     72Пример ответа на запрос (2):
     73
     74{{{
     75{
     76  "cmd":"snmpget",
     77  "result": {
     78    ".4.17.5.4.2.0": {
     79      "oid":".4.17.5.4.2.0",
     80      "status":"Not found"
     81    },
     82    ".4.17.7.1.1.0": {
     83      "oid":".4.17.7.1.1.0",
     84      "status":"OK",
     85      "value": [1, 25, 6, 45, 0, 0, 215, 43, 23, 23, 0, 1, 0, 0, 255]
     86    }
     87  }
     88}
     89}}}
     90
     91== Примечания ==
     92
     93При запросе большого числа переменных из одной платы может оказаться, что плата не может поместить значения всех переменных в ответное сообщение, так как размер сообщения ограничен. В этом случае ответ на запрос будет содержать только часть запрошенных переменных. В подобном случае клиенту рекомендуется исключить из списка `varlist` первоначального запроса те переменные, значения которых получены, и повторно запросить только те переменные, ответ на которые не был получен. Пример:
     94
     95 Запрос: `{"cmd":"snmpget","varlist":[".4.1.5.0", ".4.1.6.0", ".4.1.7.0", ".4.1.8.0", ".4.1.9.0"]}`
     96
     97 Ответ:
     98 {{{
     99{
     100  "cmd":"snmpget",
     101  "result": {
     102    ".4.1.5.0": {
     103      "oid":".4.1.5.0",
     104      "status":"OK",
     105      "value": 55
     106    },
     107    ".4.1.6.0": {
     108      "oid":".4.1.6.0",
     109      "status":"OK",
     110      "value": 55
     111    },
     112    ".4.1.6.0": {
     113      "oid":".4.1.6.0",
     114      "status":"OK",
     115      "value": 66
     116    },
     117    ".4.1.7.0": {
     118      "oid":".4.1.7.0",
     119      "status":"OK",
     120      "value": 77
     121    }
     122  }
     123}
     124 }}}
     125
     126 Запрос: `{"cmd":"snmpget","varlist":[".4.1.8.0", ".4.1.9.0"]}`
     127
     128 Ответ:
     129 {{{
     130{
     131  "cmd":"snmpget",
     132  "result": {
     133    ".4.1.8.0": {
     134      "oid":".4.1.8.0",
     135      "status":"OK",
     136      "value": 88
     137    },
     138    ".4.1.9.0": {
     139      "oid":".4.1.9.0",
     140      "status":"OK",
     141      "value": 99
     142    }
     143  }
     144}
     145 }}}
    43146
    44147== См. также ==