Обнаружение аномалий базы данных 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 | Как обнаружить ухудшение времени отклика: автоматически, или на основе фиксированных порогов, или не обнаруживать.
Элемент может содержать эти значения
|
требуется |
automaticDetection | ResponseTimeDegradationAutodetectionConfig | Параметры автоматического определения деградации времени отклика. Требуется, если для параметра discoveryMode установлено значение DETECT_AUTOMATICALLY . В противном случае неприменимо.
Нарушение любого критерия вызывает предупреждение. |
по желанию |
thresholds | ResponseTimeDegradationThresholdConfig | Фиксированные пороги для обнаружения ухудшения времени отклика.
Требуется, если режим обнаружения равен |
по желанию |
Объект ResponseTimeDegradationAutodetectionConfig
Параметры автоматического определения деградации времени отклика. Требуется, если для параметра discoveryMode установлено значение DETECT_AUTOMATICALLY
. В противном случае неприменимо.
Нарушение любого критерия вызывает предупреждение.
Элемент | Тип | Описание | Необходимость |
---|---|---|---|
responseTimeDegradationMilliseconds | integer | Предупреждать, если время отклика ухудшится за X миллисекунд. | требуется |
responseTimeDegradationPercent | integer | Предупреждать, если время отклика превышает X %. | требуется |
slowestResponseTimeDegradationMilliseconds | integer | Предупреждать, если время отклика самых медленных 10% ухудшится за X миллисекунд. | требуется |
slowestResponseTimeDegradationPercent | integer | Предупреждать, если время отклика самых медленных 10% ухудшится за X %. | требуется |
loadThreshold | string | Минимальная нагрузка на сервис для обнаружения ухудшения времени отклика.
Ухудшение времени отклика служб с меньшей нагрузкой не приведет к срабатыванию предупреждений. Элемент может содержать эти значения
|
требуется |
Объект ResponseTimeDegradationThresholdConfig
Фиксированные пороги для обнаружения ухудшения времени отклика.
Требуется, если режим обнаружения равен DETECT_USING_FIXED_THRESHOLDS
. В противном случае неприменимо.
Элемент | Тип | Описание | Необходимость |
---|---|---|---|
responseTimeThresholdMilliseconds | integer | Время отклика в течение любого 5-минутного периода для срабатывания оповещения в миллисекундах. | требуется |
slowestResponseTimeThresholdMilliseconds | integer | Время отклика 10 % самых медленных в течение любого 5-минутного периода времени для срабатывания оповещения, в миллисекундах. | требуется |
loadThreshold | string | Минимальная нагрузка на сервис для обнаружения ухудшения времени отклика.
Ухудшение времени отклика служб с меньшей нагрузкой не приведет к срабатыванию предупреждений. Элемент может содержать эти значения
|
требуется |
sensitivity | string | Чувствительность порога.
При В Элемент может содержать эти значения
|
требуется |
Объект 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 | Как обнаружить увеличение частоты отказов: автоматически, или на основе фиксированных порогов, или не обнаруживать.
Элемент может содержать эти значения
|
требуется |
automaticDetection | FailureRateIncreaseAutodetectionConfig | Параметры автообнаружения увеличивают частоту отказов. Требуется, если режим обнаружения равен DETECT_AUTOMATICALLY . В противном случае неприменимо.
Абсолютный и относительный пороги должны быть превышены, чтобы сработало оповещение. Пример: если ожидаемая частота ошибок составляет 1,5 %, и вы установили абсолютное увеличение на 1 % и относительное увеличение на 50 %, пороговые значения будут следующими: Абсолютный: 1,5 % + 1 % = 2,5 % Относительный: 1,5 % + 1,5 % * 50% = 2,25% |
по желанию |
thresholds | FailureRateIncreaseThresholdConfig | Фиксированные пороги для обнаружения увеличения частоты отказов.
Требуется, если режим обнаружения равен |
по желанию |
Объект 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 | Чувствительность порога.
При В Элемент может содержать эти значения
|
требуется |
Объект 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
Результат
Обновленная конфигурация имеет следующие параметры: