Updated on 2024-04-15 GMT+08:00

Adding a Threshold Rule

Function

This API is used to add a threshold rule.

URI

POST /v1/{project_id}/ams/alarms

Table 1 Path Parameters

Parameter

Mandatory

Type

Description

project_id

Yes

String

Project ID obtained from IAM. Generally, a project ID contains 32 characters.

Request Parameters

Table 2 Request header parameters

Parameter

Mandatory

Type

Description

X-Auth-Token

Yes

String

Project-level token obtained from IAM.

Content-Type

Yes

String

Content type, which is application/json.

Enumeration values:

  • application/json
Table 3 Request body parameters

Parameter

Mandatory

Type

Description

statistic

Yes

String

Statistic.

Enumeration values:

  • maximum
  • minimum
  • average
  • sum
  • sampleCount

namespace

No

String

Metric namespace. Values:

  • PAAS.CONTAINER: namespace of component, instance, process, and container metrics.
  • PAAS.NODE: namespace of host, network, disk, and file system metrics.
  • PAAS.SLA: namespace of SLA metrics.
  • PAAS.AGGR: namespace of cluster metrics.
  • CUSTOM.Prometheus: namespace of Prometheus metrics.
  • Namespace of custom metrics.

metricName

Yes

String

Metric name. The value must contain 1 to 255 characters long and meet the [a-zA-Z_:][a-zA-Z0-9_:]* expression. That is, the value must start with a letter, underscore (_), or colon (:). Only letters, digits, underscores, and colons are allowed.

period

Yes

Integer

Statistical period. Values: 60,000, 300,000, 900,000, and 3,600,000.

alarmLevel

No

Integer

Alarm severity.

evaluationPeriods

Yes

Integer

Number of consecutive periods.

comparisonOperator

Yes

String

Threshold criterion expression. It cannot be empty. Options: >, <, >=, and <=

Enumeration values:

  • >
  • <
  • >=
  • <=

threshold

Yes

String

Threshold value. Enter up to 255 characters. It cannot be less than 0, or positive or negative infinity.

alarmName

Yes

String

Threshold name. It cannot be empty. Enter up to 255 characters. The following special characters are not allowed: "#%&'+;<=>?\

dimensions

Yes

Array of Dimension objects

Metric dimension. The total dimension length (that is, total JSON characters of the array) cannot exceed 65,535. The array cannot contain more than 100 elements.

unit

Yes

String

Metric unit. It cannot be empty. Enter up to 32 characters.

actionEnabled

No

Boolean

Whether to enable alarm reporting.

alarmActions

No

Array of strings

Action to be taken when an alarm is reported. The array can contain up to five elements. It must start with SMN: and cannot contain a number sign (#). Example: "SMN:en-us:op_xxx;+08|00:console.xxx/aom/?agencyId=3402daf6xxxxx0e1&locale=en-us&region=xxx$/aom:urn:smn:xxx:06175f8cxxxx391f:aomtest" Parsed: "SMN:{zh-cn | en-us}:{domain_name};{timezone}:{console_uri}:{topic_urn}"

alarmAdvice

No

String

Handling suggestion. Enter up to 255 characters.

alarmDescription

No

String

Threshold rule description. Enter up to 1024 characters.

insufficientDataActions

No

Array of strings

Action to be taken when data is insufficient. The array can contain up to five elements. It must start with SMN: and cannot contain a number sign (#). Example: "SMN:en-us:op_xxx;+08|00:console.xxx/aom/?agencyId=3402daf6xxxxx0e1&locale=en-us&region=xxx$/aom:urn:smn:xxx:06175f8cxxxx391f:aomtest" Parsed: "SMN:{zh-cn | en-us}:{domain_name};{timezone}:{console_uri}:{topic_urn}"

okActions

No

Array of strings

Action to be taken when restoration is complete. The array can contain up to five elements. It must start with SMN: and cannot contain a number sign (#). Example: "SMN:en-us:op_xxx;+08|00:console.xxx/aom/?agencyId=3402daf6xxxxx0e1&locale=en-us&region=xxx$/aom:urn:smn:xxx:06175f8cxxxx391f:aomtest" Parsed: "SMN:{zh-cn | en-us}:{domain_name};{timezone}:{console_uri}:{topic_urn}"

Table 4 Dimension

Parameter

Mandatory

Type

Description

name

Yes

String

Dimension name. It cannot be empty. Enter up to 255 characters.

value

No

String

Dimension value. Enter up to 1024 characters.

Response Parameters

Status code: 200

Table 5 Response body parameters

Parameter

Type

Description

errorCode

String

Response code.

errorMessage

String

Response message.

alarmId

Long

Threshold rule code.

Example Requests

Add a threshold rule.

POST https://{Endpoint}/v1/{project_id}/ams/alarms

{
  "actionEnabled" : false,
  "alarmActions" : [ ],
  "alarmAdvice" : "",
  "alarmDescription" : "",
  "alarmLevel" : 3,
  "alarmName" : "aaaaaaaa",
  "comparisonOperator" : ">=",
  "dimensions" : [ {
    "name" : "appName",
    "value" : "rhm-broker"
  } ],
  "evaluationPeriods" : 1,
  "insufficientDataActions" : [ ],
  "metricName" : "cpuCoreLimit",
  "namespace" : "PAAS.CONTAINER",
  "okActions" : [ ],
  "period" : 60000,
  "statistic" : "average",
  "threshold" : 0,
  "unit" : "Core"
}

Example Responses

Status code: 200

OK

The request is successful.

{
  "errorCode" : "SVCSTG_AMS_2000000",
  "errorMessage" : "success",
  "alarmId" : 12345678
}

Status Codes

Status Code

Description

200

OK

The request is successful.

400

Bad Request

Invalid request. The client should not repeat the request without modifications.

401

Unauthorized

The authorization information is incorrect or invalid.

403

ForbiddenThe request is rejected. The server has received the request and understood it, but the server refuses to respond to it. The client should not repeat the request without modifications.

500

Internal Server Error

The server is able to receive the request but unable to understand the request.

503

Service Unavailable

The requested service is invalid. The client should not repeat the request without modifications.

Error Codes

See Error Codes.