• Home
  • Dynatrace API
  • Configuration
  • Anomaly detection
  • Applications
  • PUT configuration

Application anomaly detection API - PUT configuration

Updates the configuration of anomaly detection for applications.

The request consumes an application/json payload.

PUTManaged https://{your-domain}/e/{your-environment-id}/api/config/v1/anomalyDetection/applications
SaaS https://{your-environment-id}.live.dynatrace.com/api/config/v1/anomalyDetection/applications
Environment ActiveGate https://{your-activegate-domain}/e/{your-environment-id}/api/config/v1/anomalyDetection/applications

Authentication

To execute this request, you need an access token with Write configuration (WriteConfig) scope. To learn how to obtain and use it, see Tokens and authentication.

Parameters

ParameterTypeDescriptionInRequired
bodyApplicationAnomalyDetectionConfig

The JSON body of the request, containing parameters of the application anomaly detection configuration.

bodyoptional

Request body objects

The ApplicationAnomalyDetectionConfig object

The configuration of anomaly detection for applications.

ElementTypeDescription
metadataConfigurationMetadata

Metadata useful for debugging

Can be null.

responseTimeDegradationResponseTimeDegradationDetectionConfig

Configuration of response time degradation detection.

trafficDropTrafficDropDetectionConfig

The configuration of traffic drops detection.

trafficSpikeTrafficSpikeDetectionConfig

The configuration of traffic spikes detection.

failureRateIncreaseFailureRateIncreaseDetectionConfig

Configuration of failure rate increase detection.

The ConfigurationMetadata object

Metadata useful for debugging

ElementTypeDescription
configurationVersionsinteger[]

A sorted list of the version numbers of the configuration.

Can be null.

currentConfigurationVersionsstring[]

A sorted list of version numbers of the configuration.

Can be null.

clusterVersionstring

Dynatrace version.

Can be null.

The ResponseTimeDegradationDetectionConfig object

Configuration of response time degradation detection.

ElementTypeDescription
detectionModestring

How to detect response time degradation: automatically, or based on fixed thresholds, or do not detect.

The element can hold these values
  • DETECT_AUTOMATICALLY
  • DETECT_USING_FIXED_THRESHOLDS
  • DONT_DETECT
automaticDetectionResponseTimeDegradationAutodetectionConfig

Parameters of the response time degradation auto-detection. Required if the detectionMode is DETECT_AUTOMATICALLY. Not applicable otherwise.

Violation of any criterion triggers an alert.

Can be null.

thresholdsResponseTimeDegradationThresholdConfig

Fixed thresholds for response time degradation detection.

Required if detectionMode is DETECT_USING_FIXED_THRESHOLDS. Not applicable otherwise.

Can be null.

The ResponseTimeDegradationAutodetectionConfig object

Parameters of the response time degradation auto-detection. Required if the detectionMode is DETECT_AUTOMATICALLY. Not applicable otherwise.

Violation of any criterion triggers an alert.

ElementTypeDescription
responseTimeDegradationMillisecondsinteger

Alert if the response time degrades beyond X milliseconds.

responseTimeDegradationPercentinteger

Alert if the response time degrades beyond X %.

slowestResponseTimeDegradationMillisecondsinteger

Alert if the response time of the slowest 10% degrades beyond X milliseconds.

slowestResponseTimeDegradationPercentinteger

Alert if the response time of the slowest 10% degrades beyond X %.

loadThresholdstring

Minimal service load to detect response time degradation.

Response time degradation of services with smaller load won't trigger alerts.

The element can hold these values
  • FIFTEEN_REQUESTS_PER_MINUTE
  • FIVE_REQUESTS_PER_MINUTE
  • ONE_REQUEST_PER_MINUTE
  • TEN_REQUESTS_PER_MINUTE

The ResponseTimeDegradationThresholdConfig object

Fixed thresholds for response time degradation detection.

Required if detectionMode is DETECT_USING_FIXED_THRESHOLDS. Not applicable otherwise.

ElementTypeDescription
responseTimeThresholdMillisecondsinteger

Response time during any 5-minute period to trigger an alert, in milliseconds.

slowestResponseTimeThresholdMillisecondsinteger

Response time of the 10% slowest during any 5-minute period to trigger an alert, in milliseconds.

loadThresholdstring

Minimal service load to detect response time degradation.

Response time degradation of services with smaller load won't trigger alerts.

The element can hold these values
  • FIFTEEN_REQUESTS_PER_MINUTE
  • FIVE_REQUESTS_PER_MINUTE
  • ONE_REQUEST_PER_MINUTE
  • TEN_REQUESTS_PER_MINUTE
sensitivitystring

Sensitivity of the threshold.

With low sensitivity, high statistical confidence is used. Brief violations (for example, due to a surge in load) won't trigger alerts.

With high sensitivity, no statistical confidence is used. Each violation triggers an alert.

The element can hold these values
  • HIGH
  • LOW
  • MEDIUM

The TrafficDropDetectionConfig object

The configuration of traffic drops detection.

ElementTypeDescription
enabledboolean

The detection is enabled (true) or disabled (false).

trafficDropPercentinteger

Alert if the observed traffic is less than X % of the expected value.

Can be null.

The TrafficSpikeDetectionConfig object

The configuration of traffic spikes detection.

ElementTypeDescription
enabledboolean

The detection is enabled (true) or disabled (false).

trafficSpikePercentinteger

Alert if the observed traffic is more than X % of the expected value.

Can be null.

The FailureRateIncreaseDetectionConfig object

Configuration of failure rate increase detection.

ElementTypeDescription
detectionModestring

How to detect failure rate increase: automatically, or based on fixed thresholds, or do not detect.

The element can hold these values
  • DETECT_AUTOMATICALLY
  • DETECT_USING_FIXED_THRESHOLDS
  • DONT_DETECT
automaticDetectionFailureRateIncreaseAutodetectionConfig

Parameters of failure rate increase auto-detection. Required if detectionMode is DETECT_AUTOMATICALLY. Not applicable otherwise.

The absolute and relative thresholds both must exceed to trigger an alert.

Example: If the expected error rate is 1.5%, and you set an absolute increase of 1%, and a relative increase of 50%, the thresholds will be: Absolute: 1.5% + 1% = 2.5% Relative: 1.5% + 1.5% * 50% = 2.25%

Can be null.

thresholdsFailureRateIncreaseThresholdConfig

Fixed thresholds for failure rate increase detection.

Required if detectionMode is DETECT_USING_FIXED_THRESHOLDS. Not applicable otherwise.

Can be null.

The FailureRateIncreaseAutodetectionConfig object

Parameters of failure rate increase auto-detection. Required if detectionMode is DETECT_AUTOMATICALLY. Not applicable otherwise.

The absolute and relative thresholds both must exceed to trigger an alert.

Example: If the expected error rate is 1.5%, and you set an absolute increase of 1%, and a relative increase of 50%, the thresholds will be: Absolute: 1.5% + 1% = 2.5% Relative: 1.5% + 1.5% * 50% = 2.25%

ElementTypeDescription
failingServiceCallPercentageIncreaseAbsoluteinteger

Absolute increase of failing service calls to trigger an alert, %.

failingServiceCallPercentageIncreaseRelativeinteger

Relative increase of failing service calls to trigger an alert, %.

The FailureRateIncreaseThresholdConfig object

Fixed thresholds for failure rate increase detection.

Required if detectionMode is DETECT_USING_FIXED_THRESHOLDS. Not applicable otherwise.

ElementTypeDescription
thresholdinteger

Failure rate during any 5-minute period to trigger an alert, %.

sensitivitystring

Sensitivity of the threshold.

With low sensitivity, high statistical confidence is used. Brief violations (for example, due to a surge in load) won't trigger alerts.

With high sensitivity, no statistical confidence is used. Each violation triggers alert.

The element can hold these values
  • HIGH
  • LOW
  • MEDIUM

Request body JSON model

This is a model of the request body, showing the possible elements. It has to be adjusted for usage in an actual request.

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" } } }

Response

Response codes

CodeTypeDescription
204-

Success. Configuration has been updated. Response doesn't have a body.

400ErrorEnvelope

Failed. The input is invalid

Validate payload

We recommend that you validate the payload before submitting it with an actual request. A response code of 204 indicates a valid payload.

The request consumes an application/json payload.

POSTManaged https://{your-domain}/e/{your-environment-id}/api/config/v1/anomalyDetection/applications/validator
SaaS https://{your-environment-id}.live.dynatrace.com/api/config/v1/anomalyDetection/applications/validator
Environment ActiveGate https://{your-activegate-domain}/e/{your-environment-id}/api/config/v1/anomalyDetection/applications/validator

Authentication

To execute this request, you need an access token with Write configuration (WriteConfig) scope. To learn how to obtain and use it, see Tokens and authentication.

Response

Response codes

CodeTypeDescription
204-

Validated. The submitted configuration is valid. Response does not have a body.

400ErrorEnvelope

Failed. The input is invalid

Example

In this example, the request updates the configuration of anomaly detection for applications from the GET request example. It activates traffic spikes detection and sets the threshold of 200%.

The API token is passed in the Authorization header.

You can download or copy the example request body to try it out on your own. Be sure to create a backup copy of your current configuration with the GET application anomaly detection configuration call.

Curl

shell
curl -X PUT \ https://mySampleEnv.live.dynatrace.com/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 } } } '

Request URL

plaintext
https://mySampleEnv.live.dynatrace.com/api/config/v1/anomalyDetection/applications

Request body

json
{ "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 } } }

Response code

204

Result

The updated configuration has the following parameters:

Anomaly detection config - apps - updated

Related topics
  • Adjust the sensitivity of anomaly detection for applications

    Learn how to adapt the sensitivity of problem detection for applications.

  • Problem detection and analysis

    Understand the basic concepts related to how Dynatrace detects and raises alerts for problems detected in your environment.