Metric events anomaly detection API - POST an event

Creates a new metric event rule.

The request consumes and produces an application/json payload.

Early Adopter

This request is an Early Adopter release and may be changed in non-compatible way.

POST
  • Managed https://{your-domain}/e/{your-environment-id}/api/config/v1/anomalyDetection/metricEvents
  • SaaS https://{your-environment-id}.live.dynatrace.com/api/config/v1/anomalyDetection/metricEvents

Authentication

To execute this request, you need the Write configuration (WriteConfig) permission assigned to your API token. To learn how to obtain and use it, see Tokens and authentication.

Parameters

To find all JSON models that depend on the type of the model, refer to JSON models.

Parameter Type Description In Required
body MetricEvent

The JSON body of the request. Contains parameters of the new metric event.

body optional

The MetricEvent object

The configuration of the metric event.

Element Type Description Required
metadata ConfigurationMetadata optional
id string

The ID of the metric event.

optional
metricId string

The ID of the metric evaluated by the metric event.

required
name string

The name of the metric event displayed in the UI.

required
description string

The description of the metric event.

required
aggregationType string

How the metric data points are aggregated for the evaluation.

The timeseries must support this aggregation.

The aggregationType element can hold these values.
optional
severity string

The type of the event to trigger on the threshold violation.

The CUSTOM_ALERT type is not correlated with other alerts. The INFO type does not open a problem.

The severity element can hold these values.
optional
enabled boolean

The metric event is enabled (true) or disabled (false).

required
disabledReason string

The reason of automatic disabling.

The NONE means config was not disabled automatically.

The disabledReason element can hold these values.
optional
alertingScope MetricEventAlertingScope[]

Defines the scope of the metric event. Only one filter is allowed per filter type, except for tags, where up to 3 are allowed. The filters are combined by conjunction.

optional
metricDimensions MetricEventDimensions[]

Defines the dimensions of the metric to alert on. The filters are combined by conjunction.

optional
monitoringStrategy MetricEventMonitoringStrategy required

The MetricEventMonitoringStrategy object

A monitoring strategy for a metric event config.

This is the base version of the monitoring strategy, depending on the type, the actual JSON may contain additional fields.

Element Type Description Required
type string

Defines the actual set of fields depending on the value. See one of the following objects:

  • STATIC_THRESHOLD -> MetricEventStaticThresholdMonitoringStrategy
  • AUTO_ADAPTIVE_BASELINE -> MetricEventAutoAdaptiveBaselineMonitoringStrategy
The type element can hold these values.
required

The MetricEventDimensions object

A single filter for the metrics dimensions.

This is the base version of the filter, depending on the type, the actual JSON may contain additional fields.

Element Type Description Required
filterType string

Defines the actual set of fields depending on the value. See one of the following objects:

  • ENTITY -> MetricEventEntityDimensions
  • STRING -> MetricEventStringDimensions
The filterType element can hold these values.
required
name string

The dimensions name. Sending this has no effect while creating a configuration, as only the index of the dimension is used here -> dimension names might change, indexes not.

optional
index integer

The dimensions index on the metric.

optional

The MetricEventAlertingScope object

A single filter for the alerting scope.

This is the base version of the filter, depending on the type, the actual JSON may contain additional fields.

Element Type Description Required
filterType string

Defines the actual set of fields depending on the value. See one of the following objects:

  • 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
The filterType element can hold these values.
required

The ConfigurationMetadata object

Metadata useful for debugging

Element Type Description Required
currentConfigurationVersions string[]

A Sorted list of string version numbers of the configuration.

optional
clusterVersion string

Dynatrace server version.

optional
configurationVersions integer[]

A Sorted list of the version numbers of the configuration.

optional

Possible values

Possible values for the type element in the MetricEventMonitoringStrategy object:

  • AUTO_ADAPTIVE_BASELINE
  • STATIC_THRESHOLD

Possible values for the filterType element in the MetricEventDimensions object:

  • ENTITY
  • STRING

Possible values for the filterType element in the MetricEventAlertingScope object:

  • CUSTOM_DEVICE_GROUP_NAME
  • ENTITY_ID
  • HOST_GROUP_NAME
  • HOST_NAME
  • MANAGEMENT_ZONE
  • NAME
  • PROCESS_GROUP_ID
  • PROCESS_GROUP_NAME
  • TAG

Possible values for the disabledReason element in the MetricEvent object:

  • NONE
  • TOO_MANY_DIMS

Possible values for the severity element in the MetricEvent object:

  • AVAILABILITY
  • CUSTOM_ALERT
  • ERROR
  • INFO
  • PERFORMANCE
  • RESOURCE_CONTENTION

Possible values for the aggregationType element in the MetricEvent object:

  • AVG
  • COUNT
  • MAX
  • MEDIAN
  • MIN
  • OF_INTEREST
  • OF_INTEREST_RATIO
  • OTHER
  • OTHER_RATIO
  • P90
  • SUM
  • VALUE

Response format

The EntityShortRepresentation object

The short representation of a Dynatrace entity.

Element Type Description
id string

The ID of the Dynatrace entity.

name string

The name of the Dynatrace entity.

description string

A short description of the Dynatrace entity.

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.

Early Adopter

This request is an Early Adopter release and may be changed in non-compatible way.

POST
  • Managed https://{your-domain}/e/{your-environment-id}/api/config/v1/anomalyDetection/metricEvents/validator
  • SaaS https://{your-environment-id}.live.dynatrace.com/api/config/v1/anomalyDetection/metricEvents/validator

Authentication

To execute this request, you need the Write configuration (WriteConfig) permission assigned to your API token. To learn how to obtain and use it, see Tokens and authentication.

Response codes

Code Description
204 Validated. The submitted configuration is valid. Response doesn't have a body.
400 Failed. The input is invalid.

Example

In this example, the request creates a custom alert that triggers if free disk space drops below 3% in 3 out of 5 samples. The scope of the alert is all hosts.

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.

Curl

curl -X POST \
  https://mySampleEnv.live.dynatrace.com/api/config/v1/anomalyDetection/metricEvents \
  -H 'Authorization: Api-token abcdefjhij1234567890' \
  -H 'Content-Type: application/json' \  
  -d '{
  "metricId": "com.dynatrace.builtin:host.disk.freespacepercentage",
  "name": "Low disk space",
  "description": "The available disk space is below 3%",
  "aggregationType": "AVG",
  "eventType": "CUSTOM_ALERT",
  "alertCondition": "BELOW",
  "samples": 5,
  "violatingSamples": 3,
  "dealertingSamples": 5,
  "threshold": 3,
  "enabled": true,
  "tagFilters": []
}
'

Request URL

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

Request body

Download
{
  "metricId": "com.dynatrace.builtin:host.disk.freespacepercentage",
  "name": "Low disk space",
  "description": "The available disk space is below 3%",
  "aggregationType": "AVG",
  "eventType": "CUSTOM_ALERT",
  "alertCondition": "BELOW",
  "samples": 5,
  "violatingSamples": 3,
  "dealertingSamples": 5,
  "threshold": 3,
  "enabled": true,
  "tagFilters": []
}

Response body

{
  "id": "1b06b18a-82df-4e18-a4aa-d4543b227734",
  "name": "Low disk space",
  "description": "The available disk space is below 3%"
}

Response code

204

Result

The new rule looks like this in the UI:

Metric event rule - new