Существует возможность в реальном времени получать изменения значений определенный метрик, если значение превысило или опустилось ниже заданного порога. Для этого создаются тревоги, для получения которых по протоколу STOMP через Websocket необходимо подписаться на событие /alarm
Создание тревоги
Новая тревога создается при помощи REST API запроса /api/alarm/create
https://hostname:8090/api/alarm/create { "type":"0", "name":"testalarm", "value":"500000", "metric":"4", "node":"15", "time":"5000" }
Здесь
- type – тип тревоги:
- 0 – значение опустилось ниже заданного порога
- 1 – значение превысило заданный порог
- name – имя тревоги
- value – пороговое значение
- metric – идентификатор метрики (в данном примере битрейт видео)
- node – идентификатор узла
- time – время в миллисекундах, в течение которого значение метрики должно находиться выше или ниже заданного порога.
В данном примере создана тревога, срабатывающая, если битрейт видео опубликованного на сервере потока опустится ниже 500 кбит/с более чем на 5 секунд.
Если идентификатор узла не указан, тревога применяется ко всем узлам на бэкенд-сервере.
Изменение тревоги
Параметры тревоги могут быть изменены при помощи REST API запроса /api/alarm/update
https://hostname:8090/api/alarm/update { "id": "17", "type":"0", "name":"testalarm", "value":"500000", "metric":"4", "node":"15", "time":"5000" }
Здесь:
- id – идентификатор тревоги
- type – тип тревоги:
- 0 – значение опустилось ниже заданного порога
- 1 – значение превысило заданный порог
- name – имя тревоги
- value – пороговое значение
- metric – идентификатор метрики (в данном примере битрейт видео)
- node – идентификатор узла
- time – время в миллисекундах, в течение которого значение метрики должно находиться выше или ниже заданного порога.
Удаление тревоги
Тревога может быть удалена при помощи REST API запроса /api/alarm/delete
https://hostname:8090/api/alarm/delete { "id": "17" }
Здесь:
- id – идентификатор тревоги
Сообщения о выходе метрики за допустимый предел больше не будут приходить.
Получение информации о настройках тревоги
Информацию о настройках тревоги можно получить при помощи REST API запроса /api/alarm/list
https://hostname:8090/api/alarm/list { "id": "17" }
Здесь:
- id – идентификатор тревоги
Если указан идентификатор тревоги, то ответ будет содержать информацию только об этой тревоге. Если идентификатор не указан, ответ будет содержать информацию обо всех тревогах на бэкенд-сервере.
Состав полей ответа аналогичен составу полей запроса /api/alarm/update.