Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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

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

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

...

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

...

APIRequestResponseResponse status
WS API
Code Block
themeRDark

...

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"]
 }
}
Code Block
themeRDark
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
Code Block
themeRDark
POST: /api/node/update "application/json; charset=utf-8"
{
 "id":"2",
 "profiles":

...

["1","2"]
}
Code Block
themeRDark
{
 "status":200,
 "reason":"SUCCESS"
}

200 OK

400 Object not found

500 Persist exception

Здесь:

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

...

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

APIRequestResponseResponse status
WS API
Code Block

...

themeRDark
SEND
destination:/app/api/node/delete
content-length:100

{
 "requestId":"a2d3fd81-4598-41cf-8840-e40770d597b4",
 "realm":"/api/node/delete",
 "payload":
 {
  "id":"2"
 }
}
Code Block
themeRDark

...

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
Code Block
themeRDark
POST: /api/node/delete "application/json; charset=utf-8"
{

...

 "id":"2"
}
Code Block
themeRDark
{
 

...

"status":200,
 "reason":"SUCCESS"
}

200 OK

400 Object not found

500 Persist exception

Здесь:

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

...

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

...

APIRequestResponseResponse status
WS API
Code Block
themeRDark

...

SEND
destination:/app/api/node/list
content-length:98

{
 "requestId":"5c809c02-1082-418e-8423-db7dbff9605c",
 "realm":"/api/node/list",
 "payload":
 {

...

  "id":

...

"3"
 }

...

Здесь:

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

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

Ответ на запрос информации об узле выглядит следующим образом

...

languagejs
themeRDark

}
Code Block
themeRDark
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
Code Block
themeRDark
POST: /api/node/list "application/json; charset=utf-8"
{
 "id":"3"
}
Code Block
themeRDark
{
    "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 - список профилей

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

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

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

...

APIRequestResponseResponse status
WS API
Code Block
themeRDark

...

SEND
destination:/app/api/node_status/list
content-length:105

{
 "requestId":"404ae542-b729-4b6e-bf28-ef85dc1f8630",
 "realm":"/api/node_status/list",
 "payload":
 {

...

  "id":

...

"

...

3"

...

Здесь:

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

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

Ответ содержит следующие поля

...

languagejs
themeRDark

...


 }
}
Code Block
themeRDark
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,
   "connectTimestamp":0,
   "connectCounter":0,
   "connected":true,
   "rate":0
  }
 ]
}

200 OK

400 Object not found

500 Persist exception

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

...

3,

...

            "connectTimestamp": 

...

0,

...

            "connectCounter": 

...

0,

...

            "connected": true,

...

            "rate": 

...

160
        }
    ]
}

200 OK

400 Object not found

500 Persist exception

Здесь:

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

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