Page tree
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 5 Current »

Управление узлами осуществляется при помощи Websocket API или REST API

Создание узла

Новый узел создается автоматически при подключении к бэкенд-серверу нового узла, которого нет в БД.

Изменение узла

Параметры узла могут быть изменены при помощи запроса /api/node/update

APIRequestResponseResponse status
WS API
SEND
destination:/app/api/node/update
content-length:121

{
 "requestId":"70ed9798-6463-4741-818f-b0b9d7299b6f",
 "realm":"/api/node/update",
 "payload":
 {
  "id":"2",
  "profiles":["1","2"]
 }
}
MESSAGE
destination:/user/service
content-type:application/json;charset=UTF-8
subscription:sub-1
message-id:3-25
content-length:84

{
 "requestId":"70ed9798-6463-4741-818f-b0b9d7299b6f",
 "status":200,
 "reason":"SUCCESS"}

200 OK

400 Object not found

500 Persist exception

REST API
POST: /api/node/update "application/json; charset=utf-8"
{
 "id":"2",
 "profiles":["1","2"]
}
{
 "status":200,
 "reason":"SUCCESS"
}

200 OK

400 Object not found

500 Persist exception

Здесь:

  • id – идентификатор узла
  • profiles – список идентификаторов профилей, определяющих метрики, собираемые с данного сервера

Удаление узла

Узел может быть удален при помощи запроса /api/node/delete

APIRequestResponseResponse status
WS API
SEND
destination:/app/api/node/delete
content-length:100

{
 "requestId":"a2d3fd81-4598-41cf-8840-e40770d597b4",
 "realm":"/api/node/delete",
 "payload":
 {
  "id":"2"
 }
}
MESSAGE
destination:/user/service
content-type:application/json;charset=UTF-8
subscription:sub-1
message-id:3-25
content-length:84

{
 "requestId":"a2d3fd81-4598-41cf-8840-e40770d597b4",
 "status":200,
 "reason":"SUCCESS"}

200 OK

400 Object not found

500 Persist exception

REST API
POST: /api/node/delete "application/json; charset=utf-8"
{
 "id":"2"
}
{
 "status":200,
 "reason":"SUCCESS"
}

200 OK

400 Object not found

500 Persist exception

Здесь:

  • id – идентификатор узла

Мониторинг удаленного узла прекращается.

Получение информации об узле

Информацию об узле можно получить при помощи запроса /api/node/list

APIRequestResponseResponse status
WS API
SEND
destination:/app/api/node/list
content-length:98

{
 "requestId":"5c809c02-1082-418e-8423-db7dbff9605c",
 "realm":"/api/node/list",
 "payload":
 {
  "id":"3"
 }
}
MESSAGE
destination:/user/service
content-type:application/json;charset=UTF-8
subscription:sub-1
message-id:3-28
content-length:143

{
 "requestId":"5c809c02-1082-418e-8423-db7dbff9605c",
 "status":200,
 "reason":"SUCCESS",
 "payload":[
  {
   "id":3,
   "host":"192.168.1.64",
   "profiles":[1]
  }
 ]
}

200 OK

400 Object not found

500 Persist exception

REST API
POST: /api/node/list "application/json; charset=utf-8"
{
 "id":"3"
}
{
    "status": 200,
    "reason": "SUCCESS",
    "payload": [
        {
            "id": 3,
            "host": "192.168.1.64",
            "profiles": [
                1
            ]
        }
    ]
}

200 OK

400 Object not found

500 Persist exception

Здесь:

  • id – идентификатор узла
  • host - адрес WCS-сервера, подключенного к бэкенду
  • profiles - список профилей

Если указан идентификатор узла, то ответ будет содержать информацию только об этом узле. Если идентификатор не указан, ответ будет содержать информацию обо всех узлах на бэкенд-сервере.

Получение текущего состояния узла

Текущее состояние узла можно получить при помощи запроса /api/node_status/list

APIRequestResponseResponse status
WS API
SEND
destination:/app/api/node_status/list
content-length:105

{
 "requestId":"404ae542-b729-4b6e-bf28-ef85dc1f8630",
 "realm":"/api/node_status/list",
 "payload":
 {
  "id":"3"
 }
}
MESSAGE
destination:/user/service
content-type:application/json;charset=UTF-8
subscription:sub-1
message-id:3-31
content-length:171

{
 "requestId":"404ae542-b729-4b6e-bf28-ef85dc1f8630",
 "status":200,
 "reason":"SUCCESS",
 "payload":[
  {
   "id":3,
   "rate":160
  }
 ]
}

200 OK

404 Object not found

500 Persist exception

REST API
POST: /api/node_status/list "application/json; charset=utf-8"
{
 "id":"3"
}
{
    "status": 200,
    "reason": "SUCCESS",
    "payload": [
        {
            "id": 3,
            "rate": 160
        }
    ]
}

200 OK

404 Object not found

500 Persist exception

Здесь:

  • id – идентификатор узла
  • rate – частота, с которой метрики присылаются WCS-сервером на бэкенд-сервер

Если указан идентификатор узла, то ответ будет содержать информацию только об этом узле. Если идентификатор не указан, ответ будет содержать текущее состояние всех узлов, наблюдаемых на бэкенде.

Если узел в данный момент не подключен к бэкенд-серверу, либо такой узел никогда ранее не подключался, запрос вернет ошибку 404 OBJECT_NOT_FOUND

  • No labels