Обнаружение аномалий событий метрик API - PUT событие

Материал из Документация Ключ-АСТРОМ

Обновляет указанное правило события метрики.

Запрос использует в качестве полезной нагрузки application/json формат.

PUT Managed https://{your-domain}/e/{your-environment-id}/api/config/v1/anomalyDetection/metricEvents/{id}
Среда АктивногоШлюза https://{your-activegate-domain}/e/{your-environment-id}/api/config/v1/anomalyDetection/metricEvents/{id}

Аутентификация

Чтобы выполнить этот запрос, вам нужен токен доступа с областью действия Запись конфигурации ( WriteConfig) . Чтобы узнать, как его получить и использовать, см. раздел Токены и аутентификация .

Параметры

Чтобы найти все модели JSON, которые зависят от типа модели, обратитесь к моделям JSON .

Параметр Тип Описание In Необходимость
id string Идентификатор события метрики, которое необходимо обновить.

Если вы также задаете идентификатор в теле, он должен соответствовать этому идентификатору.

path требуется
body MetricEvent Тело JSON запроса. Содержит обновленные параметры события метрики. body по желанию

Объекты тела запроса

Объект MetricEvent

Конфигурация события метрики.

Элемент Тип Описание Необходимость
metadata ConfigurationMetadata Метаданные, полезные для отладки по желанию
id string Идентификатор события метрики. по желанию
metricId string Идентификатор метрики, оцениваемой событием метрики. по желанию
metricSelector string Селектор метрик, который должен быть выполнен. по желанию
name string Имя события метрики, отображаемое в пользовательском интерфейсе. требуется
description string Описание события метрики. требуется
aggregationType string Как точки данных метрики агрегируются для оценки.

Временные ряды должны поддерживать эту агрегацию.

Элемент может содержать эти значения

  • AVG
  • COUNT
  • MAX
  • MEDIAN
  • MIN
  • P90
  • SUM
  • VALUE
по желанию
severity string Тип события, которое инициируется при нарушении порогового значения.

Тип CUSTOM_ALERTне связан с другими оповещениями. INFOТипа проблема не открывается .

Элемент может содержать эти значения

  • AVAILABILITY
  • CUSTOM_ALERT
  • ERROR
  • INFO
  • PERFORMANCE
  • RESOURCE_CONTENTION
по желанию
enabled boolean Событие метрики включено ( true) или отключено ( false). требуется
disabledReason string Причина автоматического отключения.

Конфигурация NONEозначает, что она не была отключена автоматически.

Элемент может содержать эти значения

  • METRIC_DEFINITION_INCONSISTENCY
  • NONE
  • TOO_MANY_DIMS
  • TOPX_FORCIBLY_DEACTIVATED
по желанию
warningReason string Причина предупреждения указана в конфиге.

В NONEконфигурации средств нет предупреждений.

Элемент может содержать эти значения

  • NONE
  • TOO_MANY_DIMS
по желанию
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 Определяет фактический набор полей в зависимости от значения. См. один из следующих объектов:
  • ENTITY_ID-> EntityIdAlertingScope
  • MANAGEMENT_ZONE-> ManagementZoneAlertingScope
  • TAG-> TagFilterAlertingScope
  • NAME-> NameAlertingScope
  • CUSTOM_DEVICE_GROUP_NAME-> CustomDeviceGroupNameAlertingScope
  • HOST_GROUP_NAME-> HostGroupNameAlertingScope
  • HOST_NAME-> HostNameAlertingScope
  • PROCESS_GROUP_ID-> ProcessGroupIdAlertingScope
  • PROCESS_GROUP_NAME-> ProcessGroupNameAlertingScope

Элемент может содержать эти значения

  • CUSTOM_DEVICE_GROUP_NAME
  • ENTITY_ID
  • HOST_GROUP_NAME
  • HOST_NAME
  • MANAGEMENT_ZONE
  • NAME
  • PROCESS_GROUP_ID
  • PROCESS_GROUP_NAME
  • TAG
требуется

Объект MetricEventDimensions

Единый фильтр для измерений показателей.

Фактический набор полей зависит от типа фильтра. Найдите список актуальных объектов в описании поля filterType или см. Обнаружение аномалий событий метрик API — JSON модель .

Элемент Тип Описание Необходимый
filterType string Определяет фактический набор полей в зависимости от значения. См. один из следующих объектов:
  • ENTITY-> МетрикаEventEntityDimensions
  • STRING-> MetricEventStringDimensions

Элемент может содержать эти значения

  • ENTITY
  • STRING
требуется
key string Ключ размеров на метрике. по желанию

Объект MetricEventMonitoringStrategy

Стратегия мониторинга для конфигурации события метрики.

Это базовая версия стратегии мониторинга, в зависимости от типа актуальный JSON может содержать дополнительные поля.

Элемент Тип Описание Необходимость
type string Определяет фактический набор полей в зависимости от значения. См. один из следующих объектов:
  • STATIC_THRESHOLD-> MetricEventStaticThresholdMonitoringStrategy
  • AUTO_ADAPTIVE_BASELINE-> MetricEventAutoAdaptiveBaselineMonitoringStrategy

Элемент может содержать эти значения

  • AUTO_ADAPTIVE_BASELINE
  • STATIC_THRESHOLD
требуется

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 Успех. Создано новое событие метрики. Ответ содержит идентификатор вновь созданного события метрики.
204 Успех. Событие метрики обновлено. Ответ пустой.
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/{id}/validator
Среда АктивногоШлюза https://{your-activegate-domain}/e/{your-environment-id}/api/config/v1/anomalyDetection/metricEvents/{id}/validator

Аутентификация

Чтобы выполнить этот запрос, вам нужен токен доступа с областью действия Запись конфигурации ( WriteConfig) . Чтобы узнать, как его получить и использовать, см. раздел Токены и аутентификация .

Ответ

Коды ответов

Код Тип Описание
204 Подтверждено. Представленная конфигурация действительна. Ответ не имеет тела.
400 ErrorEnvelope Не удалось. Ввод недействителен.

Пример

В этом примере запрос обновляет правило « Недостаточно места на диске» , которое мы создали в примере запроса POST . Он изменяет пороговое значение на 4 % в 9 из 10 образцов. Он ограничивает область оповещения хостом HOST-IG-1 , который имеет идентификатор объекта Ключ-АСТРОМ HOST-DE7EB04EB33F3040 .

Маркер API передается в заголовке авторизации .

Вы можете скачать или скопировать образец тела запроса, чтобы попробовать его самостоятельно.

Curl

curl -X PUT \
  https://mySampleEnv.live.ruscomtech.ru/api/config/v1/anomalyDetection/metricEvents/1b06b18a-82df-4e18-a4aa-d4543b227734 \
  -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 4%",
  "aggregationType": "AVG",
  "eventType": "CUSTOM_ALERT",
  "alertCondition": "BELOW",
  "samples": 10,
  "violatingSamples": 9,
  "dealertingSamples": 10,
  "threshold": 4,
  "entity": "HOST-DE7EB04EB33F3040",
  "enabled": true,
  "tagFilters": []
}
'

URL-адрес запроса

https://mySampleEnv.live.ruscomtech.ru/api/config/v1/anomalyDetection/metricEvents/1b06b18a-82df-4e18-a4aa-d4543b227734

Тело запроса

{
  "metricId": "com.astromkey.builtin:host.disk.freespacepercentage",
  "name": "Low disk space",
  "description": "The available disk space is below 4%",
  "aggregationType": "AVG",
  "eventType": "CUSTOM_ALERT",
  "alertCondition": "BELOW",
  "samples": 10,
  "violatingSamples": 9,
  "dealertingSamples": 10,
  "threshold": 4,
  "entity": "HOST-DE7EB04EB33F3040",
  "enabled": true,
  "tagFilters": []
}

Код ответа

204

Результат

Обновленная конфигурация имеет следующие параметры:

Metric-events3.png