Обнаружение аномалий приложения API - PUT конфигурация

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

Обновляет конфигурацию обнаружения аномалий для приложений.

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

PUT Managed https://{your-domain}/e/{your-environment-id}/api/config/v1/anomalyDetection/applications
Среда ActiveGate https://{your-activegate-domain}/e/{your-environment-id}/api/config/v1/anomalyDetection/applications

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

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

Параметры

Параметр Тип Описание In Необходимость
body ApplicationAnomalyDetectionConfig Тело запроса в формате JSON, содержащее параметры конфигурации обнаружения аномалий приложения. body по желанию

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

Объект ApplicationAnomalyDetectionConfig

Настройка обнаружения аномалий для приложений.

Элемент Тип Описание Необходимость
metadata ConfigurationMetadata Метаданные, полезные для отладки по желанию
responseTimeDegradation ResponseTimeDegradationDetectionConfig Настройка обнаружения ухудшения времени отклика. требуется
trafficDrop TrafficDropDetectionConfig Настройка обнаружения падения трафика. требуется
trafficSpike TrafficSpikeDetectionConfig Настройка обнаружения всплесков трафика. требуется
failureRateIncrease FailureRateIncreaseDetectionConfig Конфигурация обнаружения увеличения частоты отказов. требуется

Объект ConfigurationMetadata

Метаданные, полезные для отладки

Элемент Тип Описание Необходимость
configurationVersions integer[] Отсортированный список номеров версий конфигурации. по желанию
currentConfigurationVersions string[] Отсортированный список номеров версий конфигурации. по желанию
clusterVersion string Версия Ключ-АСТРОМ. по желанию

Объект ResponseTimeDegradationDetectionConfig

Настройка обнаружения ухудшения времени отклика.

Элемент Тип Описание Необходимость
detectionMode string Как обнаружить ухудшение времени отклика: автоматически, или на основе фиксированных порогов, или не обнаруживать.

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

  • DETECT_AUTOMATICALLY
  • DETECT_USING_FIXED_THRESHOLDS
  • DONT_DETECT
требуется
automaticDetection ResponseTimeDegradationAutodetectionConfig Параметры автоматического определения деградации времени отклика. Требуется, если для параметра discoveryMode установлено значение DETECT_AUTOMATICALLY. В противном случае неприменимо.

Нарушение любого критерия вызывает предупреждение.

по желанию
thresholds ResponseTimeDegradationThresholdConfig Фиксированные пороги для обнаружения ухудшения времени отклика.

Требуется, если режим обнаружения равен DETECT_USING_FIXED_THRESHOLDS. В противном случае неприменимо.

по желанию

Объект ResponseTimeDegradationAutodetectionConfig

Параметры автоматического определения деградации времени отклика. Требуется, если для параметра discoveryMode установлено значение DETECT_AUTOMATICALLY. В противном случае неприменимо.

Нарушение любого критерия вызывает предупреждение.

Элемент Тип Описание Необходимость
responseTimeDegradationMilliseconds integer Предупреждает, если время отклика ухудшится за X миллисекунд. требуется
responseTimeDegradationPercent integer Предупреждает, если время отклика превышает X %. требуется
slowestResponseTimeDegradationMilliseconds integer Предупреждает, если время отклика самых медленных 10% ухудшится за X миллисекунд. требуется
slowestResponseTimeDegradationPercent integer Предупреждает, если время отклика самых медленных 10% ухудшится за X %. требуется
loadThreshold string Минимальная нагрузка на сервис для обнаружения ухудшения времени отклика.

Ухудшение времени отклика служб с меньшей нагрузкой не приведет к срабатыванию предупреждений.

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

  • FIFTEEN_REQUESTS_PER_MINUTE
  • FIVE_REQUESTS_PER_MINUTE
  • ONE_REQUEST_PER_MINUTE
  • TEN_REQUESTS_PER_MINUTE
требуется

Объект ResponseTimeDegradationThresholdConfig

Фиксированные пороги для обнаружения ухудшения времени отклика.

Требуется, если режим обнаружения равен DETECT_USING_FIXED_THRESHOLDS. В противном случае неприменимо.

Элемент Тип Описание Необходимость
responseTimeThresholdMilliseconds integer Время отклика в течение любого 5-минутного периода для срабатывания оповещения в миллисекундах. требуется
slowestResponseTimeThresholdMilliseconds integer Время отклика 10 % самых медленных в течение любого 5-минутного периода времени для срабатывания оповещения, в миллисекундах. требуется
loadThreshold string Минимальная нагрузка на сервис для обнаружения ухудшения времени отклика.

Ухудшение времени отклика служб с меньшей нагрузкой не приведет к срабатыванию предупреждений.

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

  • FIFTEEN_REQUESTS_PER_MINUTE
  • FIVE_REQUESTS_PER_MINUTE
  • ONE_REQUEST_PER_MINUTE
  • TEN_REQUESTS_PER_MINUTE
требуется
sensitivity string Чувствительность порога.

При lowчувствительности используется высокая статистическая достоверность. Кратковременные нарушения (например, из-за резкого скачка нагрузки) не вызывают оповещения.

В highслучае чувствительности статистическая достоверность не используется. Каждое нарушение вызывает оповещение.

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

  • HIGH
  • LOW
  • MEDIUM
требуется

Объект TrafficDropDetectionConfig

Настройка обнаружения падения трафика.

Элемент Тип Описание Необходимость
enabled boolean Обнаружение включено ( true) или отключено ( false). требуется
trafficDropPercent integer Оповещение, если наблюдаемый трафик меньше X % от ожидаемого значения. по желанию

Объект TrafficSpikeDetectionConfig

Настройка обнаружения всплесков трафика.

Элемент Тип Описание Необходимость
enabled boolean Обнаружение включено ( true) или отключено ( false). требуется
trafficSpikePercent integer Оповещение, если наблюдаемый трафик превышает ожидаемое значение более чем на X %. по желанию

Объект FailureRateIncreaseDetectionConfig

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

Элемент Тип Описание Необходимость
detectionMode string Как обнаружить увеличение частоты отказов: автоматически, или на основе фиксированных порогов, или не обнаруживать.

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

  • DETECT_AUTOMATICALLY
  • DETECT_USING_FIXED_THRESHOLDS
  • DONT_DETECT
требуется
automaticDetection FailureRateIncreaseAutodetectionConfig Параметры автообнаружения увеличивают частоту отказов. Требуется, если режим обнаружения равен DETECT_AUTOMATICALLY. В противном случае неприменимо.

Абсолютный и относительный пороги должны быть превышены, чтобы сработало оповещение.

Пример: если ожидаемая частота ошибок составляет 1,5 %, и вы установили абсолютное увеличение на 1 % и относительное увеличение на 50 %, пороговые значения будут следующими: Абсолютный: 1,5 % + 1 % = 2,5 % Относительный: 1,5 % + 1,5 % * 50% = 2,25%

по желанию
thresholds FailureRateIncreaseThresholdConfig Фиксированные пороги для обнаружения увеличения частоты отказов.

Требуется, если режим обнаружения равен DETECT_USING_FIXED_THRESHOLDS. В противном случае неприменимо.

по желанию

Объект FailureRateIncreaseAutodetectionConfig

Параметры автообнаружения увеличивают частоту отказов. Требуется, если режим обнаружения равен DETECT_AUTOMATICALLY. В противном случае неприменимо.

Абсолютный и относительный пороги должны быть превышены, чтобы сработало оповещение.

Пример: если ожидаемая частота ошибок составляет 1,5 %, и вы установили абсолютное увеличение на 1 % и относительное увеличение на 50 %, пороговые значения будут следующими: Абсолютный: 1,5 % + 1 % = 2,5 % Относительный: 1,5 % + 1,5 % * 50% = 2,25%

Элемент Тип Описание Необходимость
failingServiceCallPercentageIncreaseAbsolute integer Абсолютный прирост числа неудачных вызовов службы для срабатывания оповещения, %. требуется
failingServiceCallPercentageIncreaseRelative integer Относительное увеличение числа неудачных вызовов службы для срабатывания оповещения, %. требуется

Объект FailureRateIncreaseThresholdConfig

Фиксированные пороги для обнаружения увеличения частоты отказов.

Требуется, если режим обнаружения равен DETECT_USING_FIXED_THRESHOLDS. В противном случае неприменимо.

Элемент Тип Описание Необходимость
threshold integer Частота отказов в течение любого 5-минутного периода для срабатывания оповещения, %. требуется
sensitivity string Чувствительность порога.

При lowчувствительности используется высокая статистическая достоверность. Кратковременные нарушения (например, из-за резкого скачка нагрузки) не вызывают оповещения.

В highслучае чувствительности статистическая достоверность не используется. Каждое нарушение вызывает оповещение.

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

  • HIGH
  • LOW
  • MEDIUM
требуется

JSON-модель тела запроса

Это модель тела запроса, показывающая возможные элементы. Его необходимо настроить для использования в реальном запросе.

{
  "responseTimeDegradation": {
    "detectionMode": "DETECT_AUTOMATICALLY",
    "automaticDetection": {
      "responseTimeDegradationMilliseconds": 250,
      "responseTimeDegradationPercent": 90,
      "slowestResponseTimeDegradationMilliseconds": 500,
      "slowestResponseTimeDegradationPercent": 200,
      "loadThreshold": "ONE_REQUEST_PER_MINUTE"
    }
  },
  "trafficDrop": {
    "enabled": true,
    "trafficDropPercent": 95
  },
  "trafficSpike": {
    "enabled": false
  },
  "failureRateIncrease": {
    "detectionMode": "DETECT_USING_FIXED_THRESHOLDS",
    "thresholds": {
      "threshold": 10,
      "sensitivity": "LOW"
    }
  }
}

Ответ

Коды ответов

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

Проверка полезную нагрузку

Мы рекомендуем вам проверить полезную нагрузку перед ее отправкой с фактическим запросом. Код ответа 204 указывает на действительную полезную нагрузку.

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

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

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

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

Ответ

Коды ответов

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

Пример

В этом примере запрос обновляет конфигурацию обнаружения аномалий для приложений из примера запроса GET . Он активирует обнаружение всплесков трафика и устанавливает порог 200 %.

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

Вы можете скачать или скопировать образец тела запроса, чтобы попробовать его самостоятельно. Обязательно создайте резервную копию текущей конфигурации с помощью вызова конфигурации обнаружения аномалий приложения GET .

Curl

curl -X PUT \
  https://mySampleEnv.live.ruscomtech.ru/api/config/v1/anomalyDetection/applications \
  -H 'Authorization: Api-Token dt0c01.abc123.abcdefjhij1234567890' \
  -H 'Content-Type: application/json' \
  -d '{
  "responseTimeDegradation": {
    "detectionMode": "DETECT_AUTOMATICALLY",
    "automaticDetection": {
      "responseTimeDegradationMilliseconds": 100,
      "responseTimeDegradationPercent": 50,
      "slowestResponseTimeDegradationMilliseconds": 1000,
      "slowestResponseTimeDegradationPercent": 10,
      "loadThreshold": "TEN_REQUESTS_PER_MINUTE"
        }
    },
    "trafficDrop": {
      "enabled": true,
      "trafficDropPercent": 50
    },
    "trafficSpike": {
      "enabled": true,
      "trafficSpikePercent": 200
    },
    "failureRateIncrease": {
      "detectionMode": "DETECT_AUTOMATICALLY",
      "automaticDetection": {
        "failingServiceCallPercentageIncreaseAbsolute": 5,
        "failingServiceCallPercentageIncreaseRelative": 50
      }
    }
}
'

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

https://mySampleEnv.live.ruscomtech.ru/api/config/v1/anomalyDetection/applications

Тело запроса

{
  "responseTimeDegradation": {
    "detectionMode": "DETECT_AUTOMATICALLY",
    "automaticDetection": {
      "responseTimeDegradationMilliseconds": 100,
      "responseTimeDegradationPercent": 50,
      "slowestResponseTimeDegradationMilliseconds": 1000,
      "slowestResponseTimeDegradationPercent": 10,
      "loadThreshold": "TEN_REQUESTS_PER_MINUTE"
    }
  },
  "trafficDrop": {
    "enabled": true,
    "trafficDropPercent": 50
  },
  "trafficSpike": {
    "enabled": true,
    "trafficSpikePercent": 200
  },
  "failureRateIncrease": {
    "detectionMode": "DETECT_AUTOMATICALLY",
    "automaticDetection": {
      "failingServiceCallPercentageIncreaseAbsolute": 5,
      "failingServiceCallPercentageIncreaseRelative": 50
    }
  }
}

Код ответа

204