Alerting profiles API - POST a profile

Creates a new alerting profile.

The request consumes and produces an application/json payload.

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/alertingProfiles
  • SaaS https://{your-environment-id}.live.dexp.ae/api/config/v1/alertingProfiles

Parameters

The body must not provide an ID. An ID is assigned automatically by the DESK server.

Parameter Type Description In Required
body AlertingProfile

The JSON body of the request. Contains parameters of the new alerting profile.

body optional

The AlertingProfile object

Configuration of an alerting profile.

Element Type Description Required
metadata ConfigurationMetadata

Metadata useful for debugging.

optional
id string

The ID of the alerting profile.

optional
displayName string

The name of the alerting profile, displayed in the UI.

required
rules AlertingProfileSeverityRule[]

A list of severity rules.

The rules are evaluated from top to bottom. The first matching rule applies and further evaluation stops.

If you specify both severity rule and event filter, the AND logic applies.

optional
managementZoneId integer

The ID of the management zone to which the alerting profile applies.

optional
eventTypeFilters AlertingEventTypeFilter[]

The list of event filters.

If several filters are specified, the OR logic applies.

If you specify both severity rule and event filter, the AND logic applies.

optional

The AlertingEventTypeFilter object

Configuration of the event filter for the alerting profile.

You have two mutually exclusive options:

  • Select an event type from the list of the predefined events. Specify it in the predefinedEventFilter field.
  • Set a rule for custom events. Specify it in the customEventFilter field.
Element Type Description Required
predefinedEventFilter AlertingPredefinedEventFilter

The predefined event filter.

If several event filters specified, the OR logic applies.

optional
customEventFilter AlertingCustomEventFilter

The custom event filter.

If several event filters specified, the OR logic applies.

optional

The AlertingCustomEventFilter object

Configuration of a custom event filter.

Filters custom events by title or description. If both specified, the AND logic applies.

Element Type Description Required
customTitleFilter AlertingCustomTextFilter

The filter for the title of the custom event.

optional
customDescriptionFilter AlertingCustomTextFilter

The filter for the description of the custom event.

optional

The AlertingCustomTextFilter object

Configuration of a matching filter.

Element Type Description Required
enabled boolean

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

required
value string

The value to compare to.

required
operator string

Operator of the comparison.

You can reverse it by setting negate to true.

The operator element can hold these values.
required
negate boolean

Reverses the comparison operator. For example it turns the begins with into does not begin with.

required
caseInsensitive boolean

The condition is case sensitive (false) or case insensitive (true).

If not set, then false is used, making the condition case sensitive.

required

The AlertingPredefinedEventFilter object

Configuration of a predefined event filter.

Element Type Description Required
eventType string

The type of the predefined event.

The eventType element can hold these values.
required
negate boolean

The alert triggers when the problem of specified severity arises while the specified event is happening (false) or while the specified event is not happening (true).

For example, if you chose the Slowdown (PERFORMANCE) severity and Unexpected high traffic (APPLICATION_UNEXPECTED_HIGH_LOAD) event with negate set to true, the alerting profile will trigger only when the slowdown problem is raised while there is no unexpected high traffic event.

Consider the following use case as an example. The Slowdown (PERFORMANCE) severity rule is set. Depending on the configuration of the event filter (Unexpected high traffic (APPLICATION_UNEXPECTED_HIGH_LOAD) event is used as an example), the behavior of the alerting profile is one of the following:* negate is set to false: The alert triggers when the slowdown problem is raised while unexpected high traffic event is happening.

  • negate is set to true: The alert triggers when the slowdown problem is raised while there is no unexpected high traffic event.

  • no event rule is set: The alert triggers when the slowdown problem is raised, regardless of any events.

required

The AlertingProfileSeverityRule object

A severity rule of the alerting profile.

A severity rule defines the level of severity that must be met before an alert is sent our for a detected problem. Additionally it restricts the alerting to certain monitored entities.

Element Type Description Required
severityLevel string

The severity level to trigger the alert.

The severityLevel element can hold these values.
required
tagFilter AlertingProfileTagFilter

A list of tags, defining the applicable monitored entities.

If no tags specified, the alerting profile applies to all monitored entities.

required
delayInMinutes integer

Send a notification if a problem remains open longer than X minutes.

required

The AlertingProfileTagFilter object

Configuration of the tag filtering of the alerting profile.

Element Type Description Required
includeMode string

The filtering mode:

  • INCLUDE_ANY: The rule applies to monitored entities that have at least one of the specified tags. You can specify up to 100 tags.
  • INCLUDE_ALL: The rule applies to monitored entities that have all of the specified tags. You can specify up to 10 tags.
  • NONE: The rule applies to all monitored entities.
The includeMode element can hold these values.
required
tagFilters TagFilter[]

A list of required tags.

optional

The TagFilter object

A tag-based filter of monitored entities.

Element Type Description Required
context string

The origin of the tag, such as AWS or Cloud Foundry.

Custom tags use the CONTEXTLESS value.

The context element can hold these values.
required
key string

The key of the tag.

Custom tags have the tag value here.

required
value string

The value of the tag.

Not applicable to custom tags.

optional

The ConfigurationMetadata object

Metadata useful for debugging

Element Type Description Required
configurationVersions integer[]

A Sorted list of the version numbers of the configuration.

optional
clusterVersion string

DESK server version.

optional

Possible values

Possible values for the operator element in the AlertingCustomTextFilter object:

  • BEGINS_WITH
  • CONTAINS
  • CONTAINS_REGEX
  • ENDS_WITH
  • EQUALS

Possible values for the eventType element in the AlertingPredefinedEventFilter object:

  • APPLICATION_ERROR_RATE_INCREASED
  • APPLICATION_SLOWDOWN
  • APPLICATION_UNEXPECTED_HIGH_LOAD
  • APPLICATION_UNEXPECTED_LOW_LOAD
  • AWS_LAMBDA_HIGH_ERROR_RATE
  • CUSTOM_APPLICATION_ERROR_RATE_INCREASED
  • CUSTOM_APPLICATION_SLOWDOWN
  • CUSTOM_APPLICATION_UNEXPECTED_HIGH_LOAD
  • CUSTOM_APPLICATION_UNEXPECTED_LOW_LOAD
  • CUSTOM_APP_CRASH_RATE_INCREASED
  • DATABASE_CONNECTION_FAILURE
  • DATA_CENTER_SERVICE_PERFORMANCE_DEGRADATION
  • DATA_CENTER_SERVICE_UNAVAILABLE
  • EBS_VOLUME_HIGH_LATENCY
  • EC2_HIGH_CPU
  • ELB_HIGH_BACKEND_ERROR_RATE
  • ENTERPRICE_APPLICATION_PERFORMANCE_DEGRADATION
  • ENTERPRISE_APPLICATION_UNAVAILABLE
  • ESXI_GUEST_ACTIVE_SWAP_WAIT
  • ESXI_GUEST_CPU_LIMIT_REACHED
  • ESXI_HOST_CPU_SATURATION
  • ESXI_HOST_DATASTORE_LOW_DISK_SPACE
  • ESXI_HOST_DISK_QUEUE_SLOW
  • ESXI_HOST_DISK_SLOW
  • ESXI_HOST_MEMORY_SATURATION
  • ESXI_HOST_NETWORK_PROBLEMS
  • ESXI_HOST_OVERLOADED_STORAGE
  • ESXI_VM_IMPACT_HOST_CPU_SATURATION
  • ESXI_VM_IMPACT_HOST_MEMORY_SATURATION
  • EXTERNAL_SYNTHETIC_TEST_OUTAGE
  • EXTERNAL_SYNTHETIC_TEST_SLOWDOWN
  • HOST_OF_SERVICE_UNAVAILABLE
  • HTTP_CHECK_GLOBAL_OUTAGE
  • HTTP_CHECK_LOCAL_OUTAGE
  • HTTP_CHECK_TEST_LOCATION_SLOWDOWN
  • MOBILE_APPLICATION_ERROR_RATE_INCREASED
  • MOBILE_APPLICATION_SLOWDOWN
  • MOBILE_APPLICATION_UNEXPECTED_HIGH_LOAD
  • MOBILE_APPLICATION_UNEXPECTED_LOW_LOAD
  • MOBILE_APP_CRASH_RATE_INCREASED
  • MONITORING_UNAVAILABLE
  • OSI_DISK_LOW_INODES
  • OSI_GRACEFULLY_SHUTDOWN
  • OSI_HIGH_CPU
  • OSI_HIGH_MEMORY
  • OSI_LOW_DISK_SPACE
  • OSI_NIC_DROPPED_PACKETS_HIGH
  • OSI_NIC_ERRORS_HIGH
  • OSI_NIC_UTILIZATION_HIGH
  • OSI_SLOW_DISK
  • OSI_UNEXPECTEDLY_UNAVAILABLE
  • PGI_OF_SERVICE_UNAVAILABLE
  • PGI_UNAVAILABLE
  • PG_LOW_INSTANCE_COUNT
  • PROCESS_CRASHED
  • PROCESS_HIGH_GC_ACTIVITY
  • PROCESS_MEMORY_RESOURCE_EXHAUSTED
  • PROCESS_NA_HIGH_CONN_FAIL_RATE
  • PROCESS_NA_HIGH_LOSS_RATE
  • PROCESS_THREADS_RESOURCE_EXHAUSTED
  • RDS_HIGH_CPU
  • RDS_HIGH_LATENCY
  • RDS_LOW_MEMORY
  • RDS_LOW_STORAGE_SPACE
  • RDS_OF_SERVICE_UNAVAILABLE
  • RDS_RESTART_SEQUENCE
  • SERVICE_ERROR_RATE_INCREASED
  • SERVICE_SLOWDOWN
  • SERVICE_UNEXPECTED_HIGH_LOAD
  • SERVICE_UNEXPECTED_LOW_LOAD
  • SYNTHETIC_GLOBAL_OUTAGE
  • SYNTHETIC_LOCAL_OUTAGE
  • SYNTHETIC_TEST_LOCATION_SLOWDOWN

Possible values for the context element in the TagFilter object:

  • AWS
  • AWS_GENERIC
  • AZURE
  • CLOUD_FOUNDRY
  • CONTEXTLESS
  • ENVIRONMENT
  • GOOGLE_CLOUD
  • KUBERNETES

Possible values for the includeMode element in the AlertingProfileTagFilter object:

  • INCLUDE_ALL
  • INCLUDE_ANY
  • NONE

Possible values for the severityLevel element in the AlertingProfileSeverityRule object:

  • AVAILABILITY
  • CUSTOM_ALERT
  • ERROR
  • MONITORING_UNAVAILABLE
  • PERFORMANCE
  • RESOURCE_CONTENTION

Response format

The EntityShortRepresentation object

The short representation of a DESK entity.

Element Type Description
id string

The ID of the DESK entity.

name string

The name of the DESK entity.

description string

A short description of the DESK 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.

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/alertingProfiles/validator
  • SaaS https://{your-environment-id}.live.dexp.ae/api/config/v1/alertingProfiles/validator

Response codes

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

Example

In this example, the request creates a new alerting profile with the following parameters:

  • Severity level: Availability, triggers after 2 minutes
  • Applies to monitored entities with MainApp tag.
  • Triggers when the Browser monitor global outage event is occurring.

The API token is passed in the Authorization header.

Because the request body is lengthy, it is truncated in this example Curl section. See the full body in the Request body section. You can download or copy the example request body to try it out on your own. Before using it, make sure that you're using tags that are available in your environment.

Curl

curl -X POST \
  https://mySampleEnv.live.dexp.ae/api/config/v1/alertingProfiles \
  -H 'Authorization: Api-token abcdefjhij1234567890' \
  -H 'Content-Type: application/json' \
  -d '{<truncated - see the Request body section >}'

Request URL

https://mySampleEnv.live.dexp.ae/api/config/v1/alertingProfiles

Request body

api-examples/config/alerting-profiles/post-alerting-profile.json
Download
{
  "displayName": "App availability",
  "rules": [
    {
      "severityLevel": "AVAILABILITY",
      "tagFilter": {
        "includeMode": "INCLUDE_ANY",
        "tagFilters": [
          {
            "context": "CONTEXTLESS",
            "key": "MainApp"
          }
        ]
      },
      "delayInMinutes": 2
    }
  ],
  "managementZoneId": 9130632296508575249,
  "eventTypeFilters": [
    {
      "predefinedEventFilter": {
        "eventType": "SYNTHETIC_GLOBAL_OUTAGE",
        "negate": false
      }
    }
  ]
}

Response body

{
  "id": "19e50c27-8aed-408f-ad44-d6a1bf856f49",
  "name": "App availability"
}

Response code

201

Result

The new alerting profile looks like this in the UI:

POST example