Управление профилями
Управление профилями осуществляется при помощи Websocket API или REST API .
Создание профиля
Новый профиль создается при помощи запроса /api/profile/create
:
WS API
SEND
destination : /app/api/profile/create
content - length : 159
{
"requestId" : "26f4895a-2001-46e0-af56-2a130544f1b7" ,
"realm" : "/api/profile/create" ,
"payload" :
{
"name" : "profile1" ,
"rate" : "30" ,
"metrics" : [ "3" , "10" ],
"rules" : [ "1" ]
}
}
MESSAGE
destination : /user/service
content - type : application / json ; charset = UTF - 8
subscription : sub - 1
message - id : 3 - 10
content - length : 84
{
"requestId" : "26f4895a-2001-46e0-af56-2a130544f1b7" ,
"status" : 200 ,
"reason" : "SUCCESS"
}
200 OK
400 Object not found
500 Persist exception
REST API
POST : /api/profile/create "application/json; charset=utf-8"
{
"name" : "profile2" ,
"rate" : "30" ,
"metrics" : [ "1" , "2" ],
"rules" : [ "1" ]
}
{
"status" : 200 ,
"reason" : "SUCCESS"
}
200 OK
400 Object not found
500 Persist exception
Здесь:
name
– имя профиля
rate
– частота опроса метрик, указанных в профиле
metrics
– список идентификаторов метрик
rules
– список идентификаторов правил
Изменение профиля
Профиль может быть изменен при помощи запроса /api/profile/update
:
WS API
SEND
destination : /app/api/profile/update
content - length : 166
{
"requestId" : "76d35097-7948-4e58-a7ae-f4d11ed63e02" ,
"realm" : "/api/profile/update" ,
"payload" :
{
"id" : "2" ,
"name" : "static" ,
"rate" : "30" ,
"metrics" : [ "3" , "10" ],
"rules" : [ "1" ]
}
}
MESSAGE
destination : /user/service
content - type : application / json ; charset = UTF - 8
subscription : sub - 1
message - id : 3 - 11
content - length : 84
{
"requestId" : "76d35097-7948-4e58-a7ae-f4d11ed63e02" ,
"status" : 200 ,
"reason" : "SUCCESS"
}
200 OK
400 Object not found
500 Persist exception
REST API
POST : /api/profile/update "application/json; charset=utf-8"
{
"id" : "3" ,
"name" : "profile1" ,
"rate" : "30" ,
"metrics" : [ "3" , "10" ],
"rules" : [ "1" ]
}
{
"status" : 200 ,
"reason" : "SUCCESS"
}
200 OK
400 Object not found
500 Persist exception
Здесь:
id
– идентификатор профиля
name
– имя профиля
rate
– частота опроса метрик, указанных в профиле
metrics
– список идентификаторов метрик
rules
– список идентификаторов правил
Удаление профиля
Профиль может быть удален при помощи запроса /api/profile/delete
:
WS API
SEND
destination : /app/api/profile/delete
content - length : 103
{
"requestId" : "e2412d55-4256-4004-bb93-620af1905deb" ,
"realm" : "/api/profile/delete" ,
"payload" :
{
"id" : "3"
}
}
MESSAGE
destination : /user/service
content - type : application / json ; charset = UTF - 8
subscription : sub - 1
message - id : 3 - 14
content - length : 84
{
"requestId" : "e2412d55-4256-4004-bb93-620af1905deb" ,
"status" : 200 ,
"reason" : "SUCCESS"
}
200 OK
400 Object not found
500 Persist exception
REST API
POST : /api/profile/delete "application/json; charset=utf-8"
{
"id" : "4"
}
{
"status" : 200 ,
"reason" : "SUCCESS"
}
200 OK
400 Object not found
500 Persist exception
Здесь:
id
– идентификатор профиля
Если профиль был удален, сбор метрик, который были с ним связаны, прекратится на всех узлах, для которых этот профиль был задан.
Получение информации о профиле
Информацию о профиле можно получить при помощи запроса /api/profile/list
:
WS API
SEND
destination : /app/api/profile/list
content - length : 101
{
"requestId" : "2e29bebf-9773-429e-84b6-287dc4d3d479" ,
"realm" : "/api/profile/list" ,
"payload" :
{
"id" : "2"
}
}
MESSAGE
destination : /user/service
content - type : application / json ; charset = UTF - 8
subscription : sub - 1
message - id : 3 - 16
content - length : 160
{
"requestId" : "2e29bebf-9773-429e-84b6-287dc4d3d479" ,
"status" : 200 ,
"reason" : "SUCCESS" ,
"payload" : [
{
"id" : 2 ,
"name" : "static" ,
"rate" : 30 ,
"metrics" : [ 3 , 10 ],
"rules" : [ 1 ]
}
]
}
200 OK
400 Object not found
500 Persist exception
REST API
POST : /api/profile/list "application/json; charset=utf-8"
{
"id" : "2"
}
{
"status" : 200 ,
"reason" : "SUCCESS" ,
"payload" : [
{
"id" : 2 ,
"name" : "static" ,
"rate" : 30 ,
"metrics" : [
3 ,
10
],
"rules" : [
1
]
}
]
}
200 OK
400 Object not found
500 Persist exception
Здесь:
id
– идентификатор профиля
name
– имя профиля
rate
– частота опроса метрик, указанных в профиле
metrics
– список идентификаторов метрик
rules
– список идентификаторов правил
Если указан идентификатор профиля, то ответ будет содержать информацию только об этом профиле. Если идентификатор профиля не указан, ответ будет содержать список всех профилей на бэкенд-сервере.
Состав полей для каждого профиля в ответе аналогичен составу полей запроса /api/profile/update