Управление профилями осуществляется при помощи Websocket API или REST API
Создание профиля
Новый профиль создается при помощи запроса /api/profile/create
API | Request | Response | Response status |
---|---|---|---|
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
API | Request | Response | Response status |
---|---|---|---|
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
API | Request | Response | Response status |
---|---|---|---|
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
API | Request | Response | Response status |
---|---|---|---|
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 – идентификатор профиля
Если указан идентификатор профиля, то ответ будет содержать информацию только об этом профиле. Если идентификатор профиля не указан, ответ будет содержать список всех профилей на бэкенд-сервере.
Состав полей для каждого профиля в ответе аналогичен составу полей запроса /api/profile/update