Versions Compared

Key

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

...

Nodes can be managed using Websocket API or REST API.

Node creation

New node is created automatically when WCS server, which is not in the database, connects to backend server.

Node changing

The node Node parameters can be changed with REST API query /api/node/update

...

request

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

404 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

404 Object not found

500 Persist exception

Where

  • id – node identifier
  • profiles – profile identifies list by list of identifiers of profiles defining which metrics are aquired fron acquired from this node

Node deletion

The A node can be deleted with REST API query /api/node/delete request

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

404 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

404 Object not found

500 Persist exception

Where

  • id – node identifier

This The node monitoring stops when node it is deleted.

Obtaining node information

The A node information can be obtained with REST API query /api/node/list

...

request

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"
 }

...

Where:

  • id – node identifier

If node Id is set, the response will contain this node information only. If Id is not set, the response will contain all the nodes list on backend server.

The response contains the following fields

...

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

404 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

404 Object not found

500 Persist exception

Where:

  • id – node – node identifier
  • host - WCS server address
  • profiles - profiles list

If node Id is set, the response will contain only that node information. If Id is not set, the response will contain list with all the nodes on backend server.

Obtaining node current state

The A node current state can be obtained with REST API query  /api/node_status/list

...

query

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"
 }
}

...

Where:

  • id – node identifier

If node Id is set, the response will contain this node state only. If Id is not set, the response will contain all the nodes current state on backend server.

The response contains the following fields

Code Block
languagejs
themeRDark
[
    {
        "id": 15,
        "connectTimestamp": 1545645928951,
        "connectCounter": 1,
        "connected": true,
        "rate": 0
    }
]

Здесь

...

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,
   "rate":160
  }
 ]
}

200 OK

404 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,
            "rate": 160
        }
    ]
}

200 OK

404 Object not found

500 Persist exception

Where

  • id – node identifier
  • rate – metrics acquisition rate

If node Id is set, the response will contain only that node state. If Id is not set, the response will contain current state of all the nodes on backend server.

If the node is not connected to backend server, or if this node never be connected, the response will be 404 OBJECT_NOT_FOUND