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

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

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

Запрос потребляет application/jsonполезную нагрузку.

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

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

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

Параметры

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

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

Объект DatabaseAnomalyDetectionConfig

Конфигурация обнаружения аномалий для служб баз данных.

Элемент Тип Описание Необходимость
metadata ConfigurationMetadata Метаданные, полезные для отладки по желанию
responseTimeDegradation ResponseTimeDegradationDetectionConfig Настройка обнаружения ухудшения времени отклика. требуется
loadDrop LoadDropDetectionConfig Конфигурация обнаружения падения нагрузки. по желанию
loadSpike LoadSpikeDetectionConfig Настройка обнаружения скачков нагрузки. по желанию
failureRateIncrease FailureRateIncreaseDetectionConfig Конфигурация обнаружения увеличения частоты отказов. требуется
databaseConnectionFailureCount DatabaseConnectionFailureDetectionConfig Параметры обнаружения неудачных подключений к базе данных.

Предупреждение срабатывает, когда количество неудачных подключений превышает connectionFailsCount в течение любого периода timePeriodMinutes в минутах.

требуется

Объект 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
требуется

Объект LoadDropDetectionConfig

Конфигурация обнаружения падения нагрузки.

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

Объект LoadSpikeDetectionConfig

Настройка обнаружения скачков нагрузки.

Элемент Тип Описание Необходимость
enabled boolean Обнаружение включено ( true) или отключено ( false). требуется
loadSpikePercent integer Предупреждает, если наблюдаемая нагрузка превышает X % ожидаемого значения. по желанию
minAbnormalStateDurationInMinutes 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
требуется

Объект DatabaseConnectionFailureDetectionConfig

Параметры обнаружения неудачных подключений к базе данных.

Предупреждение срабатывает, когда количество неудачных подключений превышает connectionFailsCount в течение любого периода timePeriodMinutes в минутах.

Элемент Тип Элемент Тип Описание Необходимость
enabled boolean включено логический Обнаружение включено ( true) или отключено ( false). требуется
connectionFailsCount integer соединениеFailsCount целое число Количество неудачных подключений к базе данных в течение любого периода timePeriodMinutes в минутах для срабатывания оповещения. по желанию
timePeriodMinutes integer времяПериодМинуты целое число Период времени X минут, в течение которого оценивается connectionFailsCount . по желанию

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

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

{
  "responseTimeDegradation": {
    "detectionMode": "DETECT_AUTOMATICALLY",
    "automaticDetection": {
      "responseTimeDegradationMilliseconds": 250,
      "responseTimeDegradationPercent": 90,
      "slowestResponseTimeDegradationMilliseconds": 500,
      "slowestResponseTimeDegradationPercent": 200,
      "loadThreshold": "ONE_REQUEST_PER_MINUTE"
    }
  },
  "loadDrop": {
    "enabled": true,
    "loadDropPercent": 40,
    "minAbnormalStateDurationInMinutes": 5
  },
  "loadSpike": {
    "enabled": false
  },
  "failureRateIncrease": {
    "detectionMode": "DETECT_USING_FIXED_THRESHOLDS",
    "thresholds": {
      "threshold": 10,
      "sensitivity": "LOW"
    }
  },
  "databaseConnectionFailureCount": {
    "enabled": "true",
    "connectionFailsCount": 5,
    "timePeriodMinutes": 5
  }
}

Ответ

Коды ответов

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

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

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

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

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

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

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

Ответ

Коды ответов

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

Пример

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

  • Предупреждать, если время отклика ухудшится более чем на 5 мс и на 50% .
  • Оповещение, если время отклика самых медленных 10 % ухудшится более чем на 20 мс и на 100 % .
  • Чтобы избежать избыточного оповещения, не подавайте оповещения для служб с низкой нагрузкой менее 10 запросов в минуту.

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

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

Curl

curl -X PUT \
  https://mySampleEnv.live.ruscomtech.ru/api/config/v1/anomalyDetection/databaseServices \
  -H 'Authorization: Api-Token dt0c01.abc123.abcdefjhij1234567890' \
  -H 'Content-Type: application/json' \
  -d '{
  "responseTimeDegradation": {
    "detectionMode": "DETECT_AUTOMATICALLY",
    "automaticDetection": {
      "responseTimeDegradationMilliseconds": 5,
      "responseTimeDegradationPercent": 50,
      "slowestResponseTimeDegradationMilliseconds": 5,
      "slowestResponseTimeDegradationPercent": 100,
      "loadThreshold": "TEN_REQUESTS_PER_MINUTE"
    }
  },
  "failureRateIncrease": {
    "detectionMode": "DETECT_USING_FIXED_THRESHOLDS",
    "thresholds": {
      "threshold": 0,
      "sensitivity": "LOW"
    }
  },
  "databaseConnectionFailureCount": {
    "enabled": true,
    "connectionFailsCount": 5,
    "timePeriodMinutes": 5
  }
}
'

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

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

Тело запроса

{
  "responseTimeDegradation": {
    "detectionMode": "DETECT_AUTOMATICALLY",
    "automaticDetection": {
      "responseTimeDegradationMilliseconds": 5,
      "responseTimeDegradationPercent": 50,
      "slowestResponseTimeDegradationMilliseconds": 5,
      "slowestResponseTimeDegradationPercent": 100,
      "loadThreshold": "TEN_REQUESTS_PER_MINUTE"
    }
  },
  "failureRateIncrease": {
    "detectionMode": "DETECT_USING_FIXED_THRESHOLDS",
    "thresholds": {
      "threshold": 0,
      "sensitivity": "LOW"
    }
  },
  "databaseConnectionFailureCount": {
    "enabled": true,
    "connectionFailsCount": 5,
    "timePeriodMinutes": 5
  }
}

Код ответа

204

Результат

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

Dtb2.png