Обнаружение аномалий событий метрик API - POST событие
Создает новое правило события метрики.
Запрос создает и использует в качестве полезной нагрузки application/json
формат.
POST | Managed | https://{your-domain}/e/{your-environment-id}/api/config/v1/anomalyDetection/metricEvents
|
Cреда АктивногоШлюза | https://{your-activegate-domain}/e/{your-environment-id}/api/config/v1/anomalyDetection/metricEvents
|
Аутентификация
Чтобы выполнить этот запрос, вам нужен токен доступа с областью действия Запись конфигурации ( WriteConfig
) . Чтобы узнать, как его получить и использовать, см. раздел Токены и аутентификация .
Параметры
Чтобы найти все модели JSON, которые зависят от типа модели, обратитесь к моделям JSON .
Параметр | Тип | Описание | In | Необходимость |
---|---|---|---|---|
body | MetricEvent | Тело JSON запроса. Содержит параметры нового события метрики. | body | по желанию |
Объекты тела запроса
Объект MetricEvent
Конфигурация события метрики.
Элемент | Тип | Описание | Необходимость |
---|---|---|---|
metadata | ConfigurationMetadata | Метаданные, полезные для отладки | по желанию |
id | string | Идентификатор события метрики. | по желанию |
metricId | string | Идентификатор метрики, оцениваемой событием метрики. | по желанию |
metricSelector | string | Селектор метрик, который должен быть выполнен. | по желанию |
name | string | Имя события метрики, отображаемое в пользовательском интерфейсе. | требуется |
description | string | Описание события метрики. | требуется |
aggregationType | string | Как точки данных метрики агрегируются для оценки.
Временные ряды должны поддерживать эту агрегацию. Элемент может содержать эти значения
|
по желанию |
severity | string | Тип события, которое инициируется при нарушении порогового значения.
Тип Элемент может содержать эти значения
|
по желанию |
enabled | boolean | Событие метрики включено ( true ) или отключено ( false ).
|
требуется |
disabledReason | string | Причина автоматического отключения.
Конфигурация Элемент может содержать эти значения
|
по желанию |
warningReason | string | Причина предупреждения указана в конфиге.
В Элемент может содержать эти значения
|
по желанию |
alertingScope | MetricEventAlertingScope[] | Определяет область действия метрики. Допускается только один фильтр для каждого типа фильтра, за исключением тегов, где разрешено до 3. Фильтры объединяются конъюнкцией. | по желанию |
metricDimensions | MetricEventDimensions[] | Определяет параметры метрики для оповещения. Фильтры объединяются конъюнкцией. | по желанию |
monitoringStrategy | MetricEventMonitoringStrategy | Стратегия мониторинга для конфигурации события метрики.
Это базовая версия стратегии мониторинга, в зависимости от типа актуальный JSON может содержать дополнительные поля. |
требуется |
primaryDimensionKey | string | Определяет, какой ключ измерения следует использовать для alertingScope . | по желанию |
queryOffset | integer | Определяет смещение запроса для адаптации временных рамок оценки к известной задержке метрики. | по желанию |
Объект ConfigurationMetadata
Метаданные, полезные для отладки
Элемент | Тип | Описание | Необходимость |
---|---|---|---|
configurationVersions | integer[] | Отсортированный список номеров версий конфигурации. | по желанию |
currentConfigurationVersions | string[] | Отсортированный список номеров версий конфигурации. | по желанию |
clusterVersion | string | Версия Ключ-АСТРОМ. | по желанию |
Объект MetricEventAlertingScope
Единый фильтр для области оповещения.
Фактический набор полей зависит от типа фильтра. Найдите список актуальных объектов в описании поля filterType или см. Обнаружение аномалий событий метрик API — JSON модель .
Элемент | Тип | Описание | Необходимость |
---|---|---|---|
filterType | string | Определяет фактический набор полей в зависимости от значения. См. один из следующих объектов:
Элемент может содержать эти значения
|
требуется |
Объект MetricEventDimensions
Единый фильтр для измерений показателей.
Фактический набор полей зависит от типа фильтра. Найдите список актуальных объектов в описании поля filterType или см. Обнаружение аномалий событий метрик API — JSON модель .
Элемент | Тип | Описание | Необходимость |
---|---|---|---|
filterType | string | Определяет фактический набор полей в зависимости от значения. См. один из следующих объектов:
Элемент может содержать эти значения
|
требуется |
key | string | Ключ размеров на метрике. | по желанию |
Объект MetricEventMonitoringStrategy
Стратегия мониторинга для конфигурации события метрики.
Это базовая версия стратегии мониторинга, в зависимости от типа актуальный JSON может содержать дополнительные поля.
Элемент | Тип | Описание | Необходимость |
---|---|---|---|
type | string | Определяет фактический набор полей в зависимости от значения. См. один из следующих объектов:
Элемент может содержать эти значения
|
требуется |
JSON-модель тела запроса
Это модель тела запроса, показывающая возможные элементы. Его необходимо настроить для использования в реальном запросе.
{
"metadata": {
"configurationVersions": [
4,
2
],
"clusterVersion": "Mock version"
},
"metricId": "com.astromkey.builtin:host.disk.bytesread",
"name": "My metric event",
"description": "This is the description for my metric event.",
"aggregationType": "AVG",
"severity": "CUSTOM_ALERT",
"alertingScope": [
{
"filterType": "ENTITY_ID",
"entityId": "HOST-000000000001E240"
},
{
"filterType": "TAG",
"tagFilter": {
"context": "CONTEXTLESS",
"key": "someKey",
"value": "someValue"
}
}
],
"metricDimensions": [
{
"filterType": "ENTITY",
"key": "dt.entity.disk",
"nameFilter": {
"value": "diskName",
"operator": "EQUALS"
}
}
],
"enabled": true,
"disabledReason": "NONE",
"warningReason": "NONE",
"monitoringStrategy": {
"type": "STATIC_THRESHOLD",
"alertCondition": "ABOVE",
"samples": 5,
"violatingSamples": 3,
"dealertingSamples": 5,
"threshold": 80,
"unit": "KILO_BYTE_PER_SECOND"
}
}
Ответ
Коды ответов
Код | Тип | Описание |
---|---|---|
201 | EntityShortRepresentation | Успех. Cобытие метрики создано. Ответ содержит идентификатор и имя вновь созданного события метрики. |
400 | ErrorEnvelope | Не удалось. Ввод недействителен. |
Объекты тела ответа
Объект EntityShortRepresentation
Краткое представление объекта Ключ-АСТРОМ.
Элемент | Тип | Описание |
---|---|---|
id | string | Идентификатор объекта Ключ-АСТРОМ. |
name | string | Имя объекта Ключ-АСТРОМ. |
description | string | Краткое описание объекта Ключ-АСТРОМ. |
JSON-модель тела ответа
{
"id": "6a98d7bc-abb9-44f8-ae6a-73e68e71812a",
"name": "Astromkey entity",
"description": "Astromkey entity for the REST API example"
}
Проверка полезной нагрузки
Мы рекомендуем вам проверить полезную нагрузку перед ее отправкой с фактическим запросом. Код ответа 204 указывает на действительную полезную нагрузку.
Запрос использует в качестве полезной нагрузки application/json
формат.
POST | Managed | https://{your-domain}/e/{your-environment-id}/api/config/v1/anomalyDetection/metricEvents/validator
|
Среда АктивногоШлюза | https://{your-activegate-domain}/e/{your-environment-id}/api/config/v1/anomalyDetection/metricEvents/validator
|
Аутентификация
Чтобы выполнить этот запрос, вам нужен токен доступа с областью действия Запись конфигурации ( WriteConfig
) . Чтобы узнать, как его получить и использовать, см. раздел Токены и аутентификация .
Ответ
Коды ответов
Код | Тип | Описание |
---|---|---|
204 | Подтверждено. Представленная конфигурация действительна. Ответ не имеет тела. | |
400 | ErrorEnvelope | Не удалось. Ввод недействителен. |
Пример
В этом примере запрос создает настраиваемое оповещение , которое срабатывает, если свободное место на диске падает ниже 3% в 3 из 5 выборок. Область оповещения — все хосты.
Маркер API передается в заголовке авторизации .
Curl
curl -X POST \
https://mySampleEnv.live.ruscomtech.ru/api/config/v1/anomalyDetection/metricEvents \
-H 'Authorization: Api-Token dt0c01.abc123.abcdefjhij1234567890' \
-H 'Content-Type: application/json' \
-d '{
"metricId": "com.astromkey.builtin:host.disk.freespacepercentage",
"name": "Low disk space",
"description": "The available disk space is below 3%",
"aggregationType": "AVG",
"eventType": "CUSTOM_ALERT",
"alertCondition": "BELOW",
"samples": 5,
"violatingSamples": 3,
"dealertingSamples": 5,
"threshold": 3,
"enabled": true,
"tagFilters": []
}
'
URL-адрес запроса
https://mySampleEnv.live.ruscomtech.ru/api/config/v1/anomalyDetection/metricEvents
Тело запроса
{
"metricId": "com.astromkey.builtin:host.disk.freespacepercentage",
"name": "Low disk space",
"description": "The available disk space is below 3%",
"aggregationType": "AVG",
"eventType": "CUSTOM_ALERT",
"alertCondition": "BELOW",
"samples": 5,
"violatingSamples": 3,
"dealertingSamples": 5,
"threshold": 3,
"enabled": true,
"tagFilters": []
}
Тело ответа
{
"id": "1b06b18a-82df-4e18-a4aa-d4543b227734",
"name": "Low disk space",
"description": "The available disk space is below 3%"
}
Код ответа
204
Результат
Новое правило выглядит так в пользовательском интерфейсе: