Alerting profiles API - PUT a profile
Updates the specified alerting profile. If an alerting profile with the specified ID doesn't exist, a new profile is created.
The request consumes and produces an application/json
payload.
This request is an early adopter release and may be changed in non compatible way.
PUT |
|
Parameters
Parameter | Type | Description | In | Required |
---|---|---|---|---|
id | string |
The ID of the alerting profile to be updated. |
path | required |
body | AlertingProfile |
The JSON body of the request. Contains updated parameters of the 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 ( |
required |
value | string |
The value to compare to. |
required |
operator | string |
Operator of the comparison. You can reverse it by setting negate to |
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 ( If not set, then |
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 ( For example, if you chose the Slowdown ( Consider the following use case as an example. The Slowdown (
|
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:
|
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 |
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 |
This is a model of the request body, showing the possible elements. It has to be adjusted for usage in an actual request. See the Example expandable section for working sample request.
{
"id": "12345678-abcd-1234-abcd-1234567890ab",
"displayName": "sampleAlertingProfile",
"managementZoneId": 1,
"rules": [
{
"severityLevel": "AVAILABILITY",
"tagFilter": {
"includeMode": "INCLUDE_ALL",
"tagFilters": [
{
"context": "AWS",
"key": "tagKey",
"value": "tagValue"
}
]
},
"delayInMinutes": 60
}
],
"eventTypeFilters": [
{
"predefinedEventFilter": {
"eventType": "OSI_HIGH_CPU",
"negate": true
}
},
{
"customEventFilter": {
"customTitleFilter": {
"enabled": true,
"value": "filterValue",
"operator": "EQUALS",
"negate": false,
"caseInsensitive": true
},
"customDescriptionFilter": {
"enabled": false,
"value": "filterValue",
"operator": "CONTAINS",
"negate": true,
"caseInsensitive": false
}
}
}
]
}
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. |
{}
Response codes
Code | Description |
---|---|
201 | Success. The new alerting profile has been created. The response contains the ID of the new alerting profile. |
204 | Success. The alerting profile has been updated. Response doesn't have a body. |
400 | 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.
This request is an early adopter release and may be changed in non compatible way.
POST |
|
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 updates the alerting profile from the POST request example. It makes the following changes:
- Reduces delay to 1 minute.
- Adds a second tag of monitored entities: MobileApp.
- Adds a second event filter that requires Unexpected low traffic to not be present.
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. By sure to replace tags with some that you have in your environment.
Curl
curl -X PUT \
https://mySampleEnv.live.dexp.ae/api/config/v1/alertingProfiles/19e50c27-8aed-408f-ad44-d6a1bf856f49 \
-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/19e50c27-8aed-408f-ad44-d6a1bf856f49
Request body
api-examples/config/alerting-profiles/put-alerting-profile.json
{
"displayName": "App availability",
"rules": [
{
"severityLevel": "AVAILABILITY",
"tagFilter": {
"includeMode": "INCLUDE_ANY",
"tagFilters": [
{
"context": "CONTEXTLESS",
"key": "MainApp"
},
{
"context": "CONTEXTLESS",
"key": "MobileApp"
}
]
},
"delayInMinutes": 1
}
],
"managementZoneId": 9130632296508575249,
"eventTypeFilters": [
{
"predefinedEventFilter": {
"eventType": "SYNTHETIC_GLOBAL_OUTAGE",
"negate": false
}
},
{
"predefinedEventFilter": {
"eventType": "APPLICATION_UNEXPECTED_HIGH_LOAD",
"negate": true
}
}
]
}
Response code
204
Result
The updated alerting profile has the following parameters: